指標和陣列的區別

2021-07-25 10:23:53 字數 455 閱讀 7448

(1):從空間分配上:指標是動態分配空間,在malloc上分配空間,分配的空間不一定連續,空間使用完之後要呼叫free函式進行釋放。而陣列是靜態分配空間,在棧空間或者在資料區分配空間,分配的空間是連續的,區域性變數陣列在函式執行結束後釋放空間,而全域性變數陣列在整個程式執行完之後才釋放。

(3):從安全性上:陣列使用不當回造成陣列越界,而指標使用不當可能會造成記憶體洩漏。

(4):從函式形參上:陣列當形參傳遞的時候要用陣列元素指標來接,指標變數當形參傳遞時,要用指標的指標即二維指標來接。

(5):從位元組大小上:指標變數的大小是固定的,由作業系統的位數來決定,而陣列記憶體的大小由陣列的大小和陣列元素的資料型別共同決定。

指標的優勢:

(1):指標是動態分配空間,可以提高空間的利用率

(2);使用指標更加靈活

(3):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...