指標和陣列的區別

2021-07-25 06:36:10 字數 463 閱讀 3518

指標和陣列的區別:

空間分配:

指標是動態分配空間,通過malloc在堆上分配所需要的空間,分配的空間不一定連續,在使用完之後需要呼叫

free

()來釋放分配空間。

陣列是靜態分配空間,在全域性變數區或者棧上分配空間,分配的空間是連續的,區域性變數在生命週期結束後自動釋放,全域性變數在程式結束完自動釋放。

訪問效率:

指標通過位址間接訪問,而陣列是直接訪問數值,因此指標的訪問效率低,陣列的訪問效率高。

安全性:

指標使用不當會造成記憶體洩漏,陣列使用不當會造成陣列越界。

函式越界:

陣列要用相應的指標當形參,而指標需要指標的指標來當形參。

為什麼我們還需要用指標呢?

陣列空間利用率不高,指標只佔4個位元組,空間利用率高

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