函式的原型中對於形參的描述,可用elemtype xx(int array,int n) or elemtype xx(int *p,int n) 在這裡陣列名和指標是同樣的意思,但在其他地方不一樣。
使用方法,在main()中呼叫xx(arry,n);傳陣列的首位址,並將陣列的大小傳輸進去,傳陣列大小是為了可以處理陣列的區域性變數,盡量避免傳輸xx(int arry[size]);
上面的過程可以將陣列內的元素修改掉;
為了避免陣列元素被修改,可以用const對陣列保護;
原型為elemtype xx(const int array,int n);同時在函式中對資料元素只能讀取不能修改;
用sizeof求陣列所佔位元組數的時候,
void changedarry(int a,int b,int n);
int _tmain(int argc, _tchar* argv)
;int b=10;
coutreturn 0;
}void changedarry(int a,int b,int n)
{std::cout《輸出結果為40 4,
也就是說在main()中求的是陣列的大小,十個int型,所以結果為40;在子函式中求的是指標的位址(int)所以大小為4;再一次說明了傳陣列只是傳的陣列名/首位址。
C中陣列與函式
當初始化陣列時,用變數表示元素個數是無法用 來初始化 可以直接使用 int arr num 當陣列作為函式的引數傳遞的時候,會丟失陣列的長度,無法在函式內部使用sizeof函式計算陣列長度 sizeof 在函式內部得到的永遠都是8?當陣列作為函式的引數傳遞時,宣告的陣列並不是建立了這個陣列,而是宣告...
c指標陣列與陣列指標與指標函式與函式指標筆記
include include typedef struct t ooxx t ooxx,pt ooxx 測試陣列指標 void test ooxx arrayp t ooxx p int num 測試指標陣列 void test ooxx parray t ooxx p,int num 測試函式指...
C語言 陣列與函式實踐
任務 專案1 有序陣列中插入資料 函式版 有乙個足夠 大 的陣列a,其中已經儲存了n個呈公升序排列的資料。呼叫函式insert a,n,m 可以將數m插入到a中的合適位置,使其仍然保持公升序,並且返回值為陣列中有效數字的個數 即原先的n加1 include define n 100 int inse...