亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言函數返回值與參數傳遞的形式是什么

發布時間:2022-10-12 16:57:42 來源:億速云 閱讀:125 作者:iii 欄目:編程語言

本篇內容介紹了“C語言函數返回值與參數傳遞的形式是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一:參數傳遞

C語言的函數中必不可少的就是參數傳遞,可以采用傳值和傳指針兩種方式。
1.傳值的形式:只是將參數值的拷貝傳給函數,并非參數本體如:

int test(int x,int y)
{
    x=2*y;
    return x;
}
int main(void)
{ 
    int a=0,b=5;
    printf("%d,%d
",test(a,b),a);
	return 0;
}

運行結果為:

10,0

即傳值方式只可以將實參傳遞給函數,不可以改變實參本身。

2.傳指針形式:直接傳給函數的是變量的地址。
如:

int a(int b,int *c)
{
    int i=0;
    for(i=0;i<4;i++)
        c[i]=b*i;
    return 0;
    
}
int main(void)
{ 
    int b=2,c[4],i;
    a(b,c);
    for(i=0;i<4;i++)
	    printf("Data is -> %d
",c[i]);
	return 0;
}

運行結果為:

Data is -> 0
Data is -> 2
Data is -> 4
Data is -> 6

由于被調函數在參數指針的作用域之內,此時可以直接改變變量的本體。

二:返回值

函數除了參數傳遞還有返回值,既可以返回變量值也可以返回地址。
1.返回變量
如:

int a(int b)
{
    int i=5;
    return 5*b;
}
int main(void)
{ 
    int b=2;
	printf("Data is -> %d
",a(b));
	return 0;
}

運行結果

Data is -> 10

2.返回地址

int *test(int b)
{
    int i=0,buf[4];
    for(i=0;i<4;i++)
        buf[i]=b*i;
    return buf;
    
}
int main(void)
{ 
    int  b=2;
    int *p;
    int  i=0;
    p=test(b);
    for(i=0;i<4;i++)
    	printf("%d ,%d 
",p[i],test(b));
	return 0;
}

運行結果

0 ,1084896256
2 ,1084896256
4 ,1084896256
6 ,1084896256

另外不能返回局部變量地址。

int *buf()
{
	 int dad;
	 double buf[3][2];
	 dad=sizeof(buf);
  	 return &dad;//error:由于dad是局部變量,函數結束后釋放。
}

“C語言函數返回值與參數傳遞的形式是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎鲁特旗| 海门市| 天水市| 北碚区| 桦南县| 增城市| 峨山| 水富县| 汉阴县| 湄潭县| 天等县| 通许县| 唐海县| 黄陵县| 厦门市| 刚察县| 阳朔县| 东乌珠穆沁旗| 淮安市| 麦盖提县| 海宁市| 叙永县| 浦东新区| 十堰市| 楚雄市| 志丹县| 新源县| 大兴区| 怀仁县| 朔州市| 泰宁县| 长岭县| 林口县| 应用必备| 庆阳市| 武山县| 曲靖市| 宣恩县| 栖霞市| 济南市| 阿瓦提县|