主要表現在以下兩方面的不同:
a.修改内容不同。
例如 char a[] = "hello",可以通過下标的方式對其進行修改,而對于char* p = "word",此時p指向常量字符串,所以p[0] = 'x'是不允許的。
b.所占字節數不同。
例如 char* p = "word",p為指針,sizeof(p)得到的是一個指針變量的字節數,而不是p所指向的内存容量。
char a[] = "hello world";
char* p = a;
在32位機器上,sizeof(a) = 12字節,而sizeof(p) = 4字節。
但要注意的是,當數組作為函數參數進行傳遞時,該數組自動退化為同類型的指針。
,