根據(jù)參數(shù)類型以及函數(shù)實現(xiàn)的功能綜合判斷。
目前創(chuàng)新互聯(lián)建站已為上千多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設計、昂昂溪網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
注意不能單單看是否為指針。
要傳遞類型為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ù)實現(xiàn)功能。
可以通過函數(shù)指針(也就是你說的函數(shù)地址)調(diào)用,可以這樣使用:
#include
int
fun(int
a)
{
printf("a
=
%d\n",
a);
printf("hello
world\n");
}
int
main()
{
int
(*pFun)(int
a);
pFun
=
fun;
(*pFun)(123);
return
0;
}
輸出結(jié)果:
123
hello
world
f(strcut A t) 參數(shù)是一個結(jié)構(gòu)體,而結(jié)構(gòu)體說到底就是用戶自定義的組合的變量類型。是一個變量。所以這里是按照傳數(shù)值的方式進行參數(shù)傳遞。
f(struct STU a[])參數(shù)是一個結(jié)構(gòu)體數(shù)組,數(shù)組都是按照傳地址的方式進行參數(shù)傳遞的。
若還不能理解,就把Struct A t看成是int t 而 struct STU a[]相當于 int a[].這樣應該就好懂了
關于傳遞參數(shù)類型,首先要看函數(shù)的定義。不要去看函數(shù)的調(diào)用。