04 結構體兩種傳參形式

2022-08-22 03:57:09 字數 1257 閱讀 9536

/*

2023年6月30日13:53:15

功能:結構體變數作為實參

*/#include struct stu

; void add10(struct stu st2)

printf("no.%d\nname:%s\nscore:%.2f, %.2f, %.2f\n", st2.num, st2.name, st2.score[0],st2.score[1],st2.score[2]);

}void main(void)

; add10(st1);}/*

總結:1.用結構體變數作實參時,採取的是「值傳遞」的方式。形參必須是同型別的結構體變數。

2.在函式呼叫期間,形參也要占用內在單元,系統將實參中各成員的值傳遞給形參的各個成員。

3.這種傳遞方式在空間和時間上開銷較大。此外,由於採用值傳遞方式,實參向形參意向傳遞資料,實參能夠影響形參,但形參的值不會影響實參。

在vc++6.0中執行結果:

-------------------------

no.13

name:mili

score:99.50, 69.69, 68.80

-------------------------

*/

/*

2023年6月30日13:54:29

功能:結構體指標作函式引數

*/#include struct stu

;void list(struct stu *p)

void main(void)

; list(&st1);

printf("no.%d\tname:%s\tscore:%.2f\n", st1.num, st1.name, st1.score);}/*

總結:1.用指向結構體變數(或陣列)的指標作實參,將結構體變數(或陣列)的位址傳給形參。這樣形參值的改變會影響到實參的值。

2.在main函式中初奴化結構體變數st1,在list函式中改動其分數並顯示其資訊。看形參某個值的改變是否會影響到實參。

在vc++6.0中執行結果:

------------------------------------

no.13 name:mili score:100.00——在呼叫函式中顯示的結果

no.13 name:mili score:100.00——在主函式中顯示的結果

------------------------------------

*/

Qt兩種傳參形式 訊號槽傳參 介面傳參

ui bcresult 0 setvalue robticspose 0 ui bcresult 1 setvalue robticspose 1 ui bcresult 2 setvalue robticspose 2 ui bcresult 3 setvalue euler2 ui bcresu...

python requests傳兩種引數體

在jmeter請求引數中,我們了解到,在做介面測試時,傳送請求的引數有兩種格式,一種是parameters,一種是json。怎麼區分請看 那在python中,怎麼使用requests傳這兩種格式的引數呢?import requests parameters引數體 data rs requests.r...

兩種傳參方式的對比

這種方式使用變數 常量 陣列元素作為函式引數,實際是將實參的值複製到形參相應的儲存單元中,即形參和實參分別占用不同的儲存單元,這種傳遞方式稱為 引數的值傳遞 或者 函式的傳值呼叫 值傳遞的特點是單向傳遞,即主調函式呼叫時給形參分配儲存單元,把實參的值傳遞給形參,在呼叫結束後,形參的儲存單元被釋放,而...