《字符数组和字符指针变量.ppt》由会员分享,可在线阅读,更多相关《字符数组和字符指针变量.ppt(9页珍藏版)》请在三一办公上搜索。
1、str,字符数组,str,字符指针变量,字符串的定义:无初始化,char str8;,char*str;,定义一个字符型一维数组,分配8个连续的字符型存储单元,其首地址为数组名str。,定义一个字符型指针变量,分配一个指针型存储单元,但未分配字符型存储单元,指针变量str无明确指向。,str,字符数组,str,字符指针变量,字符串的定义:有初始化,char str=“student”;,char*str=“student”;,定义一个字符型指针变量,分配一个指针型存储单元,另分配8个连续的字符型存储单元存放“student”,其首地址存放在指针变量str中。,字符数组,str,字符指针变量,字
2、符串的整体赋值,char str8;str=“teacher”;不合法!不允许对数组名赋值,因为数组名是常量。,char*str;str=“teacher”;,允许对字符型指针变量赋字符串,作用是分配8个连续的字符型存储单元,其首地址放在指针变量str中。,字符数组,字符指针变量,字符串的逐个字符赋值,char str8;str0=t;str1=e;str2=a;str3=c;str4=h;str5=e;str6=r;str7=0;,char*str;*str=t;*(str+1)=e;*(str+2)=a;*(str+3)=c;*(str+4)=h;*(str+5)=e;*(str+6)=r
3、;*(str+7)=0;,错!str无明确指向,则不能使用*str,char c8,*str=c;或char*str=abcdefg;,str,原先:char*str=“student”;,2000,若执行:str=“teacher”;,str,原先:char*str=“student”;,2000,若执行:*str=t;,字符数组,字符指针变量,字符串的输入,char str4;,char*str;,方法1)用scanf函数:scanf(%s,str);方法2)用gets函数:gets(str);,输入:student回车,str,str,输入:student回车,“student”这个字符
4、串放哪?,首先,str这个指针必须有明确的指向,才能输入字符串。,char c8,*str=c;或char*str=abcdefg;,字符串的输入,字符指针变量,输入:student回车,如:char c8,*str=c;gets(str);,如:char*str=abcdefg;gets(str);,str,c,str,输入:student回车,字符数组,字符指针变量,字符串的输出,char str4=abc;,char c4,*str=c;str=“abc”;或char*str=abc;,方法1)用printf函数:printf(%sn,str);方法2)用puts函数:puts(str);,