C語言陣列作為函式引數

2021-09-11 07:20:43 字數 800 閱讀 999

一:陣列元素作為函式的實參

陣列元素就是變數,與普通變數沒有區別,將陣列元素傳送給形參,實現單向的值傳遞。

#include float max(float x,float y)

int main();

int m = a[0];

for(int i = 1;i < 6; i ++)

printf("陣列中的最大元素是:%d",m);

}

二:陣列名作為函式的實參

實質是位址的傳遞,將陣列的首位址傳給形參,形參和實參共用同一儲存空間,形參的變化就是實參的變化。

#include void sort(int b,int n)

}int main()

printf("排序後的陣列順序是:");

sort(a,10);

for(int i = 0; i < 10; i++)

}

三:二維陣列名作為函式引數

第一維的大小可以不指定,第二維的大小必須指定。實參傳送的是二維陣列的首位址,使得二維陣列a與b共用同一儲存單元,即a[0][0]與b[0][0]共用同一儲存單元,a[0][1]與b[0][1]共用同一儲存單元。

#include //b[3][4]也正確

int max(int b[4])

return max1;

}int main();

int m = max(a);

printf("max is %d", m);

}

C語言函式作為函式引數

為了滿足dry思想,減少 的重複性,考慮將函式作為引數傳入另一函式中。c語言是可以將函式作為函式引數的。用到的方法是函式指標。首先需要明確的是,在c語言中,函式名就是函式的首位址,所以將函式作為函式引數的思路是將函式位址傳入,形參是乙個指標型別的變數,形參的基型別為函式原型。引數原型為 elemty...

指標作為函式引數,C語言指標作為函式引數詳解

include void swap int a,int b 函式宣告 intmain void void swap int a,int b 大家想一下,執行這個程式是否能互換 i 和 j 的值?不能!i 還是3,j 還是5。因為實參和形參之間的傳遞是單向的,只能由實參向形參傳遞。被調函式呼叫完之後系...

C語言 二維陣列作為函式引數

想來學c語言的人,都會覺得陣列並不是很難,一問c語言最難的是什麼?指標?結構體?今天我就以我們認為不難的陣列聊聊。上學的時候老師就告訴我們 乙個就想當與乙個 這句話有問題嘛?答案是沒問題。但是,就是因為這個沒問題,導致工作中有問題。乙個簡單的思考 int arr 4 5 int p arr 請問,有...