在C里面 是無法做到形參改變 實參值同步改變的。
公司主營業(yè)務:成都網站設計、成都網站制作、外貿網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯公司推出渾源免費做網站回饋大家。
只能通過傳地址的方式
即參數類型為指針
這樣 形參指向空間修改,可以使得實參指向空間同步修改,因為是同一塊內存區(qū)域。
另外,在C++中,可以通過引用傳參,來實現你說的目的。
void?fun(?int?*a,int?*b)
{?
int?c;
c=*a;*a=*b;*b=c;?//你要改變地址中的內容才可以達到效果,?只進行a?b的變化,a?b?是形參,自身的變化,與實參無關!?傳地址,只有改變地址中的內容,才能影響到實參數據(指針)中的內容!?而實參指針,不受影響
}
void f(int *q)
{
q=(int *)0XFFFFFFFF;
}
你這樣改的是q的值 在這種情況下改值 必須知道需要改的值的變量地址才行。
void func(int a){a=100;}
int a=10;
func(a);
printf("a=%d",a); // 仍然顯示 a=10, 因為整型參數a在func()中是按值傳遞的, 也就是說func()僅使用a的值, 而對存儲a的內存地址不加修改;
void func(int* a){ *a=100;}
int a=10;
func(a);
printf("a=%d",a); // 顯示 a=100, 因為整型參數指針a在func()中是按地址傳遞的, 也就是說func()使用a的存儲地址, 直接修改其內容.
數組參數與指針參數相同, 均按地址傳遞.
網頁名稱:c語言嵌套函數改變實參 c語言函數可以嵌套定義嗎
文章分享:http://vcdvsql.cn/article4/hhhpie.html
成都網站建設公司_創(chuàng)新互聯,為您提供網頁設計公司、品牌網站設計、網站設計公司、用戶體驗、網站制作、微信公眾號
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯