C語(yǔ)言如何讓一個(gè)函數(shù)返回多個(gè)值
俊浩
在C語(yǔ)言中,一般情況下函數(shù)的返回值是通過(guò)函數(shù)中的return語(yǔ)句來(lái)實(shí)現(xiàn)的,每調(diào)用一次return語(yǔ)句只能從函數(shù)中返回一個(gè)值,下面我們就來(lái)看看C語(yǔ)言怎么讓一個(gè)函數(shù)返回多個(gè)值!
工具/材料
C語(yǔ)言的編輯器
全局變量傳遞
這種方式算是最不科學(xué)的規(guī)范,打破了軟件開(kāi)發(fā)需要的閉環(huán)策略,但在基本語(yǔ)法上是支持的,C語(yǔ)言里面最好少涉獵全局變量,使用出錯(cuò)的風(fēng)險(xiǎn)會(huì)提升很多,真要想使用建議還是用靜態(tài)全局變量直接在變量的前面加上static修飾符。
使用數(shù)組名或指針作為函數(shù)的形參
被調(diào)函數(shù)的行參是一個(gè)指針,然后在被調(diào)函數(shù)中返回第一個(gè)值,被調(diào)函數(shù)改變指針參數(shù)指向的值,這樣主調(diào)函數(shù)相應(yīng)的值就改變了,也就相當(dāng)于返回了第二個(gè)值了。這樣就可以實(shí)現(xiàn)返回多個(gè)值!
結(jié)構(gòu)體指針?lè)祷?/h2>
結(jié)構(gòu)體是C語(yǔ)言涉及數(shù)據(jù)結(jié)構(gòu)的最直接的容器,通常在編程過(guò)程中實(shí)現(xiàn)一個(gè)功能模塊在主函數(shù)里,我們可以定義一個(gè)結(jié)構(gòu)體類型的變量,然后直接用函數(shù)返回值賦值就可以了。