關於指標和陣列的區別

2021-05-21 21:42:21 字數 373 閱讀 1612

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...