| 5 | 1/1 | 返回列表 |
| 查看: 2493 | 回復: 13 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
[求助]
c語言求助,一個小程序詳細講解
|
|||
|
#include typedef struct{int b,p;}A; void f(A c) { int j; c.b+=1; c.p+=2; } main() { int i; A a={1,2}; f(a) ; printf("%d,%d\n",a.b,a.p); getch(); } 請高手講解,此段在wintc中執(zhí)行結(jié)果為:1,2 為什么不是2,3啊?? [ Last edited by 小喬205909 on 2012-2-16 at 23:13 ] |
|
在調(diào)用函數(shù)的時候,傳入的參數(shù)都會拷貝的。 舉個簡單例子說,你有一部手機A,別人也有一部相同手機B,你修改B的設(shè)置,并沒有影響A的該設(shè)置,傳入的參數(shù)就好比A,但是編譯器會用B,把B的屬性修改成和A的一樣,在函數(shù)體內(nèi)修改的是B的屬性,并不會改變A的屬性 還有一種,你把網(wǎng)上賬號告訴別人,別人賬號消費,你的賬號就會改變,這也是一種,也就相當于指針! |
金蟲 (文壇精英)
老漢一枚
鐵桿木蟲 (著名寫手)
|
C語言中的參數(shù)傳遞是值傳遞,是單向的,用指針可解決。 #include typedef struct{int b,p;}A; void f(A *c) { int j; (*c).b+=1; (*c).p+=2; } main() { int i; A a={1,2}; f(&a) ; printf("%d,%d\n",a.b,a.p); getch(); |
|
C語言中值參數(shù)是單向的傳遞,即實參將值傳遞給形參,但形參的任何變化都與實參無關(guān)。在本題中,函數(shù)f中的參數(shù)是值參數(shù),形參c接受到了實參a的值,在函數(shù)f中,經(jīng)過運算,c.b和c.p的值分別變?yōu)?,4,但與實參a沒有半毛錢的關(guān)系,這就是為什么本題答案仍然是1,2的原因。 當然,若將函數(shù)參數(shù)改為指針就另當別論了,因為函數(shù)參數(shù)是指針的話,實參是將內(nèi)存地址傳遞給形參,形參的任何變化自然也就是實參的變化。2樓所做得修改就可驗證這一點。 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料專碩306英一數(shù)二 +8 | z1z2z3879 2026-03-16 | 10/500 |
|
|---|---|---|---|---|
|
[考研] 303求調(diào)劑 +3 | 睿08 2026-03-17 | 5/250 |
|
|
[考研] 268求調(diào)劑 +7 | 好運連綿不絕 2026-03-12 | 8/400 |
|
|
[考研] 材料與化工求調(diào)劑 +6 | 為學666 2026-03-16 | 6/300 |
|
|
[碩博家園] 湖北工業(yè)大學 生命科學與健康學院-課題組招收2026級食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 有沒有道鐵/土木的想調(diào)劑南林,給自己招師弟中~ +3 | TqlXswl 2026-03-16 | 7/350 |
|
|
[考研] 290求調(diào)劑 +6 | 孔志浩 2026-03-12 | 11/550 |
|
|
[考研] 材料與化工專碩調(diào)劑 +5 | heming3743 2026-03-16 | 5/250 |
|
|
[考研] 271求調(diào)劑 +12 | 生如夏花… 2026-03-11 | 14/700 |
|
|
[考研] 070303一志愿西北大學學碩310找調(diào)劑 +5 | d如愿上岸 2026-03-12 | 8/400 |
|
|
[考研] 26考研一志愿中國石油大學(華東)305分求調(diào)劑 +3 | 嘉年新程 2026-03-15 | 3/150 |
|
|
[考研] 22408總分284求調(diào)劑 +3 | InAspic 2026-03-13 | 3/150 |
|
|
[考研] 本科南京大學一志愿川大藥學327 +3 | 麥田耕者 2026-03-14 | 3/150 |
|
|
[考研] 材料與化工 323 英一+數(shù)二+物化,一志愿:哈工大 本人本科雙一流 +4 | 自由的_飛翔 2026-03-13 | 5/250 |
|
|
[基金申請]
有必要更換申報口嗎
20+3
|
fannyamoy 2026-03-11 | 3/150 |
|
|
[考研] 四川大學085601材料工程專碩 初試294求調(diào)劑 +4 | 祝我們好在冬天 2026-03-11 | 4/200 |
|
|
[考研] 301求調(diào)劑 +6 | Liyouyumairs 2026-03-11 | 6/300 |
|
|
[考研] 材料工程調(diào)劑 +4 | 咪咪空空 2026-03-11 | 4/200 |
|
|
[考博] 2026年博士申請 +3 | QwQwQW10 2026-03-11 | 3/150 |
|