卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

函數(shù)的返回值能不能是結(jié)構(gòu)體類型 c語(yǔ)言關(guān)于結(jié)構(gòu)體類型的函數(shù)的返回值return?

c語(yǔ)言關(guān)于結(jié)構(gòu)體類型的函數(shù)的返回值return?是的,只要在定義函數(shù)時(shí)聲明要返回的類型,就可以引用代碼://#include“StdAfx。H“//如果是VC 6.0,用這行。#包括“stdio。H“

c語(yǔ)言關(guān)于結(jié)構(gòu)體類型的函數(shù)的返回值return?

是的,只要在定義函數(shù)時(shí)聲明要返回的類型,就可以引用代碼://#include“StdAfx。H“//如果是VC 6.0,用這行。#包括“stdio。H“#include”字符串。H“結(jié)構(gòu)ABC{char name[20]int n}結(jié)構(gòu)ABC myfun(void){struct ABC x={lining”,99}//聲明一個(gè)結(jié)構(gòu)局部變量x并初始化返回x//返回局部變量struct x}int main(void){struct ABC y=myfun()//聲明一個(gè)相同類型的結(jié)構(gòu)變量y,并將函數(shù)返回值賦給它printf(%s%dn”,y.name,y.n)//鍵入它,從語(yǔ)法編碼規(guī)則,ansic語(yǔ)言標(biāo)準(zhǔn)明確規(guī)定數(shù)組類型和函數(shù)類型不能作為返回值。解決這個(gè)問(wèn)題的方法是通過(guò)指針間接返回值,即使用數(shù)組指針和函數(shù)指針。這可能是在C語(yǔ)言中引入指針的另一個(gè)原因。結(jié)構(gòu)類型可以用作返回值。我猜當(dāng)時(shí)C語(yǔ)言的設(shè)計(jì)者引入了struct結(jié)構(gòu)的概念,是為了添加一種機(jī)制來(lái)創(chuàng)建一種新型的C語(yǔ)言。換句話說(shuō),它希望struct創(chuàng)建的類型與內(nèi)置int float類型一樣易于使用。//從匯編的角度來(lái)看,有兩種返回值方法。第一種方法是直接返回寄存器。第二種方法是類似于返回值的結(jié)構(gòu)來(lái)建立一個(gè)臨時(shí)存儲(chǔ)區(qū)。例如int的返回值類型和指針的返回值類型都直接返回到IA32平臺(tái)上的eax寄存器中,無(wú)論是VC還是GCC,例如IA32平臺(tái)上的float,type的浮點(diǎn)返回值類型通常借助FPU浮點(diǎn)運(yùn)算單元中的寄存器存儲(chǔ)在堆棧中。第三種類型是struct structure的返回值,需要建立臨時(shí)對(duì)象。對(duì)于C語(yǔ)言來(lái)說(shuō),引入一個(gè)臨時(shí)的內(nèi)部區(qū)域并不是一個(gè)大問(wèn)題,但對(duì)于C語(yǔ)言來(lái)說(shuō),這有時(shí)是致命的。我希望我能幫助你。房東英俊,浪漫,一定是世界上的英雄。誠(chéng)邀您加入0x30貼吧,共商義舉,共建不朽功業(yè)!