根據(jù)參數(shù)類型以及函數(shù)實(shí)現(xiàn)的功能綜合判斷。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的橋西網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
注意不能單單看是否為指針。
要傳遞類型為A的值,如果參數(shù)類型是A*,那么為傳地址,反之,如果參數(shù)類型是A,那么是傳值。
比如,要傳遞int型參數(shù):
1 傳值:
void func(int a);
2 傳地址:
void func(int *a);
而傳遞char *型參數(shù)。
1 傳值:
void func(char *a);
2 傳地址:
void func(char **a);
同樣是char *類型的參數(shù),有可能是傳值,也有可能是傳地址。具體取決于函數(shù)實(shí)現(xiàn)功能。
int f(int i)這個(gè)函數(shù)不是有返回值(返回值的類型為int)嗎,你拿返回值判斷就可以了啊,
這樣你可以在f的函數(shù)中進(jìn)行判斷,如果i=0時(shí)返回是錯(cuò)誤的,那么就返回0。
調(diào)用時(shí),你可以這么寫 int ret = f(0) if(ret ==0){printf("函數(shù)調(diào)用失敗!!!")};
有不理解的繼續(xù)追問,
舉個(gè)例子:
int Max (int ,int);/*函數(shù)原型聲明,注意沒函數(shù)體,形參名字可加可不加,必須用分號(hào)結(jié)束*/
int main()
{
int z=Max(1,2);/*調(diào)用函數(shù)*/
}
/*下面是函數(shù)定義,若它放在main之前,則上面的函數(shù)原型聲明可不寫*/
int max (int x,int y)
{
return xy?x:y;
}