指標與陣列的區別 and 對函式的理解

2021-07-15 07:57:10 字數 739 閱讀 1006

從空間分配上看,陣列是靜態分配,空間是連續的,而指標是動態分配,空間不一定連續,只從指標分配空間的原理可以看出;從訪問效率上看,陣列是直接訪問,所以效率較高,而指標是間接訪問,效率自然是沒有陣列高;從安全性上看,陣列易導致訪問越界的問題,而指標容易導致記憶體洩漏;作為函式形參時,陣列都會預設轉化為相對應的指標,比如一維陣列名代表一維陣列首元素的位址。

c語言中函式可以提高**的復用性,維護性,擴充套件性。

函式的呼叫過程:

1.通過函式名找到函式的入口位址

2.給形參分配記憶體空間

3.傳值:把實參變數對應空間的值傳給形參

4.執行函式體語句

5.函式返回並釋放記憶體空間(全域性變數在程式結束後釋放記憶體空間,這裡是區域性變數

釋放記憶體空間)

寫函式時不要忘記入口引數檢查

有時我們會見到main函式中有引數:

int main(int argc ,char *argv)

return 0;

}

其中argc代表的引數個數,argv裡面存放這引數的內容,主函式引數就是命令列引數。 

函式指標:

#include int add(int a,int b)

int sub(int a, int b)

int cal(int *p_func,int a,int b)

int main()

指標陣列 陣列指標 指標函式 函式指標的區別

這個地方 int p 4 指標陣列。是個有4 個元素的陣列,每個元素的是指向整型的指標。陣列的每個元素都是指標 int p 4 陣列指標。它是乙個指標,指向有 4個整型元素的陣列。乙個指標指向有 4 個整型元素的陣列 int func void 指標函式。無參函式,返回整型指標。函式的返回值為 in...

陣列指標與指標陣列的區別

一 陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,...

陣列指標與指標陣列的區別

一 陣列指標 也稱行指標 定義int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指...