你說的這種情況,函數(shù)返回的是整個(gè)結(jié)構(gòu)體,無論這個(gè)結(jié)構(gòu)體中包含了多少個(gè)成員,一個(gè)結(jié)構(gòu)體就只是一個(gè)變量(結(jié)構(gòu)體本身就是一個(gè)變量,無論它包含了多少個(gè)成員)。這樣,函數(shù)返回一個(gè)結(jié)構(gòu)體就意味著函數(shù)把結(jié)構(gòu)體中所有的成員都返回了。C語(yǔ)言函數(shù)的確只能有一個(gè)返回值,用返回結(jié)構(gòu)體的方式就很好地解決了需要返回多個(gè)返回值的問題。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站制作、象山網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、象山網(wǎng)絡(luò)營(yíng)銷、象山企業(yè)策劃、象山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供象山建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:chinadenli.net
return后面沒有0或1,說明這個(gè)函數(shù)是void類型的,這類函數(shù)本來就不需要有返回值,這里的return的意思并不是要返回某個(gè)值,而是退出這個(gè)函數(shù)的意思。
我在VC6里面運(yùn)行了一下主要有一下的錯(cuò)誤
1,首先,漢字“男”這個(gè)是一個(gè)字符串,所以必須占三個(gè)字節(jié)也就是 char sex[3];才可以記住,字符串以‘\0’結(jié)尾哦!你沒有算\0
2,就是你丟了好幾個(gè)(逗號(hào)),自己找下
4,,再次你的struct test后的k[5]只能說是聲明了一個(gè)變量,但是變量的初始化必須在main 內(nèi)進(jìn)行,但是又牽扯到了字符賦值的問題!這個(gè)可能你沒太深入去學(xué)!額錯(cuò)誤有點(diǎn)多,我給你改了下,你自己在仔細(xì)找找哪里有錯(cuò)誤吧!
#includestdio.h
struct test
{
int kaohao;
char name[10];
char sex[3];
int age;
float chengji;
};
void best(test k[5])
{
int i=0;
float max=0;
struct test maxs;
for(;i5;i++)
if(k[i].chengjimax)
{
max=k[i].chengji;
maxs=k[i];
}
printf("最高成績(jī)的人是:%s\n成績(jī)?yōu)?f\n",maxs.name,maxs.chengji);
}
int main()
{
struct test k[5]={ //要是.c文件的話就必須注明聲明變量!你之前的聲明也可以聲明
//k[5]變量但是不能在拿來初始化!總的來說你寫的還挺不錯(cuò)的!
//繼續(xù)加油啊!
{1101,"張三","男",19,68.5},
{1102,"李四","男",20,75},
{1103,"王五","女",18,80.5},
{1104,"孫六","女",18,90},
{1105,"周七","男",19,59}};
best(k);
return 0;
}
在另外一個(gè)函數(shù)里面使用的源代碼如下:
#include"stdio.h"
#include "conio.h" //-------添加這個(gè)頭文件,因?yàn)間etch()函數(shù)來自它,否則編譯會(huì)有警告
struct student ? /*定義結(jié)構(gòu)體*/
{
void main()
{
void data_in(struct student putin[]);
void data_out(struct student *p);
void data_pout(struct student *s1);
data_in(pers); ? ? ?/*調(diào)用指針輸入函數(shù)*/
data_out(sp); ? ? /*調(diào)用指針輸出函數(shù)*/
data_pout(sp); ? /*調(diào)用函數(shù)名輸出函數(shù)*/
getch();
}
擴(kuò)展資料
1、函數(shù)是C語(yǔ)言的基本組成元素,當(dāng)我們調(diào)用一個(gè)函數(shù)時(shí),需要明確函數(shù)名和實(shí)參列表。實(shí)參列表中的參數(shù)可以是常量、變量、表達(dá)式或者空,并且各參數(shù)之間要使用英文逗號(hào)分隔開來。
2、在C語(yǔ)言中,函數(shù)的定義是獨(dú)立的,一個(gè)函數(shù)不能定義在另一個(gè)函數(shù)內(nèi)部。但在調(diào)用函數(shù)時(shí),可以在一個(gè)函數(shù)中調(diào)用另一個(gè)函數(shù),這就是函數(shù)的嵌套調(diào)用。接下來我們通過一個(gè)案例來演示函數(shù)的嵌套調(diào)用。
c語(yǔ)言函數(shù)可以返回結(jié)構(gòu)體,操作方法如下:
1、首先在電腦中打開visual studio新建項(xiàng)目,給這個(gè)結(jié)構(gòu)體取個(gè)名字叫student。
2、然后添加變量,如下圖所示。
3、然后給結(jié)構(gòu)體類型指針p申請(qǐng)堆空間,如下圖所示。
4、接著使用for循環(huán)給結(jié)構(gòu)體賦值,如下圖所示。
5、最后在通過for循環(huán)打印輸出,這樣就完成就結(jié)構(gòu)體的基本創(chuàng)建,結(jié)尾不要忘了使用free(p):釋放申請(qǐng)的堆空間。
網(wǎng)站欄目:c語(yǔ)言關(guān)聯(lián)函數(shù)到結(jié)構(gòu)體 c++關(guān)聯(lián)類
網(wǎng)頁(yè)網(wǎng)址:http://chinadenli.net/article48/dogdhep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、軟件開發(fā)、Google、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)