'H'這是一個數字。通過下面程序進行驗證。
#includeint main(void) { printf("%d %d\n",sizeof("c"),sizeof('s')); }
#includeint main(void) { char * p = "hello world!"; printf("%s\n", p); }
#includeint main(void) { char * p = "world"; //通過這一段代碼的打印可以看出字符串代表的是一個地址。 printf("%s\n",p); printf("%c\n",*("hello")); return 0; }
//越界的情況打印出來的數據增長了 #includevoid func(void) { int * p ="hello!"; write(1,p,10); } int main(void) { int * q = "hello world"; func(); return 0; }
#include4:修改字符串的內容int main(void) { char * p = "hello word! %d\n"; printf(p,5); return 0; }
#includeint main(void) { char * p = "hello word!\n"; p[0] = 'H'; //這樣編譯就會出現問題,因為只讀數據段的內容不能修改 printf("%c\n",p[0]); //printf(p,5); return 0; }
#includeint main(void) { char * p = "hello word!\n"; p[0] = 'H'; printf("%c\n",p[0]); return 0; }
#include#include int main(void) { char * p = "hello"; // p[0] = 'H'; //printf("%c\n",p[0]); //printf(p,5); char a[] = "hello"; //strlen()這個函數是用來求一個字符串的有效字節長度,根據偽零結束時進行判斷 printf("%ld\n",strlen(a)); return 0; }