字符串指针与字符数组一般情况下都能对存储的字符串进行修改等操作,但是当字符串指针被定义为字符串常量时(静态区),字符串指针所指向的字符串就不能被改变。如下:
#include <stdio.h>
int main()
{
char s1[]="hello,world";
char s2[]="hello,world";
char *s3;
char *s4;
s3="hello,world";
s4="hello,world";
// s3=s1;
if(s1==s2)
printf("s1=s2\n");
else
printf("s1!=s2\n");
if(s3==s4)
printf("s3=s4\n");
else
printf("s3!=s4\n");
//*s3='e';//常亮不可赋值
s1[1]='e';
printf("%x\n",s1);
printf("%x\n",s2);
printf("%x\n",s3);
printf("%x\n",s4);
}
输出:
s1!=s2
s3=s4
90613340
90613330
4006d8
4006d8