傳參
數組:
數組傳參時,會退化為指針,所以我們先來看看什么是退化!
(1)退化的意義:C語言只會以值拷貝的方式傳遞參數,參數傳遞時,如果只拷貝整個數組,效率會大大降低,并且在參數位于棧上,太大的數組拷貝將會導致棧溢出。
(2)因此,C語言將數組的傳參進行了退化。將整個數組拷貝一份傳入函數時,將數組名看做常量指針,傳數組首元素的地址。
1.一維數組的傳參
2.二維數組的傳參
指針:
1.一級指針傳參
當函數參數部分是一級指針時,可以接受什么參數例如:test(int*p)
(1)可以是一個整形指針
(2)可以是整型變量地址
(3)可以是一維整型數組數組名
2.二級指針傳參
即當函數參數部分是二級指針時,可以接受什么參數例如:test(int**p)
(1)二級指針變量
(2)一級指針變量地址
(3)一維指針數組的數組名
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7601瀏覽量
136251 -
指針
+關注
關注
1文章
480瀏覽量
70512 -
數組
+關注
關注
1文章
416瀏覽量
25913
發布評論請先 登錄
相關推薦
C語言數組元素的指針
C語言調用函數時虛實結合的方法都是采用“值傳遞”方式,當用變量名作為函數參數時傳遞的是變量的值,當用數組名作為函數參數時。
由于數組名代表的是數組元素地址,因此傳遞的值是地址,所以要去形
評論