#include "stdio.h"
int main(void)
{
char *str = "hello world\r\n"; //指針類型初始化字符串,只讀,
//"hello world\r\n"存儲在常量區
char buf[] = "hello world\r\n"; //數組類型初始化字符串,讀寫
//"hello world\r\n"存儲在全局區或棧區
printf("buf=%s\r",buf);//輸出原字符串
buf[0] = 't'; //正確,數組內容可以修改
printf("buf=%s\r\n",buf);//輸出修改後的字符串
printf("str=%s\r",str);//輸出原字符串
str = "Test"; //正確,指針指向新的字符串
printf("str=%s",str);//輸出修改後的字符串
*(str+0) = 't'; //錯誤,指針指向內容不可修改
printf("(str+0)=%s",str);//因爲上一句錯誤,此處無法執行
return 0;
}
輸出如圖: