字符数组和字符指针变量

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

\0
字符串的输入 字符指针变量
如:char c[8],*str=c; 如:char *str="abcdefg";
gets(str);
gets(str);
输入:student回车
str
c
s
输入:student回车 str
as
t
bt
u
uc
d
d
e
e
n
nf
t
gt
\0
\0
字符串的输出
字符数组
字符指针变量
str
2000
s
str
3000
t
t
e
u
a
d
c
e
h
n
e
t
r
\0
\0
原先:
若执行:
char *str=“student”; *str=‘t’;
str
2000
s
str
2000
t
t
t
u
u
d
d
e
e
n
n
t
t
\0
\0
字符串的输入
字符数组
字符指针变量
char str[4];
cchharacr[*8s],t*rs;tr=c;
c
h
e
r
\0
字符串的逐个字符赋值
字符数组
字符指针变量
char str[8]; str[0]=‘t’; str[1]=‘e’; str[2]=‘a’; str[3]=‘c’; str[4]=‘h’; str[5]=‘e’; str[6]=‘r’; str[7]=‘\0’;
char c[8],*str=c; 或chcahra*rstr;
char str[4]="abc"; char c[4],*str=c;str=“abc”; 或char *str="abc";
方法1)用printf函数: printf("%s\n", str); 方法2)用puts函数: puts(str);
字符数组
字符指针变量
char str[]=“student”; char *str=“student”;
str s t u d e n
str
s
定义一个字符型指针变量, t
分配一个指针型存储单元, u
另分配8个连续的字符型 存储单元存放
d
“student”,其首地址 e
存放在指针变量str中。 n
t
t
或char *str="abcdefg";
方法1)用scanf函数: scanf("%s", str);
方法2)用gets函数: gets(str);
输入:student回车 输入:student回车
str s
t
str
u
d
“student”这个字符串放哪?
e n t
首先,str这个指针必须有明确 的指向,才能输入字符串。
字符串的定义:无初始化
字符数组
字符指针变量
char str[8];
char *str;
Biblioteka Baidu
str
str
定义一个字符型一维数 组,分配8个连续的字符 型存储单元,其首地址 为数组名str。
定义一个字符型指针变量,分配 一个指针型存储单元,但未分配 字符型存储单元,指针变量str无 明确指向。
字符串的定义:有初始化
\0
\0
字符串的整体赋值
字符数组
字符指针变量
char str[8];
char *str;
str=“teacher”;不合法! str=“teacher”;
不允许对数组名赋值,因 str
t
为数组名是常量。 允许对字符型指针变量赋字 e
符串,作用是分配8个连续 a
的字符型存储单元,其首地 址放在指针变量str中。
**ssttrr=="‘at’b; cdefg";
*(str+1)=‘e’; 错!str无明确
*(str+2)=‘a’;
指向,则不能 使用*str
*(str+3)=‘c’;
*(str+4)=‘h’;
*(str+5)=‘e’;
*(str+6)=‘r’;
*(str+7)=‘\0’;
原先:
若执行:
char *str=“student”; str=“teacher”;
相关文档
最新文档