C语言 字符指针和字符数组的差异
发布时间:2021-11-24 18:03:40 所属栏目:教程 来源:互联网
导读:char *str = This is a string.; 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。 这里要注意字符指针与字符数组之间的区别。例如,有说明语句: char string[ ]=This is a string.; 此时,string是字符数组
char *str = "This is a string."; 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。 这里要注意字符指针与字符数组之间的区别。例如,有说明语句: char string[ ]="This is a string."; 此时,string是字符数组,它存放了一个字符串。 字符指针str与字符数组string的区别是:str是一个变量,可以改变str使它指向不同的字符串,但不能改变str所指的字符串常量。string是一个数组,可以改变数组中保存的内容。 如果有: char *str, *str1="This is another string."; char string[100]="This is a string."; 则在在程序中,可以使用如下语句: str++; /* 指针str加1 */ str = "This is a NEW string."; /* 使指针指向新的字符串常量 */ str = str1; /* 改变指针str的指向 */ strcpy( string, "This is a NEW string.") /* 改变字符串的的内容 */ strcat( string, str) /* 进行串连接操作 */ 在程序中,不能进行如下操作: string++; /* 不能对数组名进行++运算 */ string = "This is a NEW string."; /* 错误的串操作 */ string = str1; /* 对数组名不能进行赋值 */ strcat(str, "This is a NEW string.") /* 不能在str的后面进行串连接 */ strcpy(str, string) /* 不能向str进行串复制 */ 字符指针与字符数组的区别在使用中要特别注意。 ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |