1.char *p="abcd"和char a="abcd"的區別
首先:c裡沒有字串變數,所有在存放字串常量時一般採用字元陣列來儲存,
而陣列實際上就是乙個連續的儲存空間,紀錄了首位址和空間的大小。
對字串不關心到底佔多少空間因為在c中字串是以/0結束,所有紀錄字串的首位址就可以了,而指標是紀錄位址的不二選擇。
所有有 p存的是"abcd"的首位址。
2.從編譯器方面來看
定義指標的時候編譯器並不知道指標所指向的物件分配空間,它只是分配指標本身空間。除非在定義的時候同時賦給指標乙個字串常量進行初始化。
float *pip=3.13;//編譯器報錯
因為在c中初始化指標時的字串常量被定義為唯讀。。
指標陣列和陣列指標的區別
這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...
指標陣列和陣列指標的區別
這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...
指標陣列和陣列指標的區別
這兩個名字不同當然所代表的意思也就不同。我剛開始看到這就嚇到了,主要是中文太博大精深了,整這樣的簡稱太專業了,把人都繞暈了。從英文解釋或中文全稱看就比較容易理解。指標陣列 array of pointers,即用於儲存指標的陣列,也就是陣列元素都是指標 陣列指標 a pointer to an ar...