#include <stdio.h>
int main(void)
{
char *pt = "AAA"; //字符常量
printf("%s\n",pt);
*pt = 'B'; // pt[0] = 'B'
printf("%s\n",pt);
return 0;
}
root@ubuntu:~$ ./a.out
AAA
Segamention fault (core dumped) #段错误(已转存)
root@ubuntu:~$
字符常量存储在只读区,指针不能修改指向存储的内容。但是指针可以修改指向存储的地址,例如:
#include <stdio.h>
int main(void)
{
char *pt = "AAA"; //字符常量
printf("%s\n",pt);
pt = "BBB"
printf("%s\n",pt);
return 0;
}
root@ubuntu:~$ ./a.out
AAA
BBB
root@ubuntu:~$