1. 程式人生 > >char *a 與char a[] 的區別

char *a 與char a[] 的區別

第一個 4行 常量 指向 字符串 區別 png com ons

char* a = "hello"; 和 char a[] = "hello"; 的區別:

1、

char* a = "hello"; 中的a是指向第一個字符h的的指針變量。

技術分享圖片

第2行說明a所指向的字符串是在靜態存儲區的,無法修改。

所以可以在靜態存儲區的變量前加const來防止對其修改,在編譯時就可以提示錯誤。

變成 const char* a = "hello";

第3行,a是一個指針變量,可以修改指向到新的的字符串"sdf"

第4行,a是一個指針變量,可修改指向

2、

char a[] = "hello"; 中的a是數組名,可作為指向第一個字符h的的指針常量。

技術分享圖片

第2行說明a所指向的字符串是在棧,可以修改

第3行說明數組名a是指針常量,不可修改指向。

char *a 與char a[] 的區別