亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++結構體與函數—結構體作為函數參數和返回值

2020-05-23 14:27:01
字體:
來源:轉載
供稿:網友
結構也可以用作函數參數或返回值。

結構作為參數

我們在前面的一些章節中知道,變量作為函數的參數,了解它是值傳遞還是地址傳遞是非常重要的。因為這意味著參數在函數體內的修改是否會影響到該變量本身。

不同于數組,結構是按值傳遞的。也就是說整個結構的內容都復制給了形參,即使某些成員數據是一個數組。

下面,我們就以一個實例來證明這一點:(程序9.3.1)
#include "iostream.h"
struct student
{
   int idNumber;
   char name[15];
   int age;
   char department[20];
   float gpa;
};
void display(student arg);//結構作為參數
int main()
{
   student s1={428004, "Tomato",20, "ComputerScience",84.5};//聲明s1,并對s1初始化
   cout <<"s1.name的地址" <<&s1.name <<endl;
   display(s1);
   cout <<"形參被修改后……" <<endl;
   display(s1);
   return 0;
}
void display(student arg)
{
   cout <<"學號:" <<arg.idNumber <<"姓名:" <<arg.name <<"年齡:" <<arg.age <<endl <<"院系:" <<arg.department <<"成績:" <<arg.gpa <<endl;
   cout <<"arg.name的地址" <<&arg.name <<endl;
   for (int i=0;i<6;i++)//企圖修改參數的成員數據
   {
      arg.name[i]='A';
   }
   arg.age++;
   arg.gpa=99.9f;
}
運行結果:
s1.name的地址0x0012FF54
學號:428004姓名:Tomato年齡:20
院系:ComputerScience成績:84.5
arg.name的地址0x0012FED8
形參被修改后……
學號:428004姓名:Tomato年齡:20
院系:ComputerScience成績:84.5
arg.name的地址0x0012FED8

通過上面這個程序,我們發現在函數中修改形參的值對實參是沒有影響的。并且通過輸出變量s1和參數arg的成員數據name所在地址,我們可以知道兩者是不相同的,即整個name數組也復制給了參數arg。

如果我們希望能在函數修改實參,則可以使用引用的方法。由于結構往往整合了許多的成員數據,它的數據量也絕對不可小覷。使用值傳遞雖然能夠保護實參不被修改,但是卻會或多或少地影響到程序的運行效率。所以,一般情況下,我們選擇引用傳遞的方法。

結構作為返回值

一般情況下,函數只能返回一個變量。如果要嘗試返回多個變量,那么就要通過在參數中使用引用,再把實參作為返回值。然而,這種方法會導致一大堆參數,程序的可讀性也較差。
當結構出現以后,我們可以把所有需要返回的變量整合到一個結構中來,問題就解決了。我們通過一段程序來了解如何讓函數返回一個結構:(程序9.3.2)
#include "iostream.h"
struct student
{
   int idNumber;
   char name[15];
   int age;
   char department[20];
   float gpa;
};
student initial();//初始化并返回一個結構
void display(student arg);
int main()
{
   display(initial());//輸出返回的結構
   return 0;
}
void display(student arg)
{
   cout <<"學號:" <<arg.idNumber <<"姓名:" <<arg.name <<"年齡:" <<arg.age <<endl <<"院系:" <<arg.department <<"成績:" <<arg.gpa <<endl;
}
student initial()
{
   student s1={428004, "Tomato",20, "ComputerScience",84.5};//初始化結構變量
   return s1;//返回結構
}

運行結果:
學號:428004姓名:Tomato年齡:20
院系:ComputerScience成績:84.5
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
伊人久久大香线蕉av一区二区| www日韩欧美| 日韩在线观看av| 亚洲色图校园春色| 欧美大尺度电影在线观看| 2019亚洲男人天堂| 中文字幕在线看视频国产欧美| 日韩欧美一区二区三区| 亚洲天堂av在线免费| 伊人久久大香线蕉av一区二区| 中文.日本.精品| 原创国产精品91| 日韩av综合中文字幕| 中文字幕av一区| 国产精品欧美日韩久久| 最近2019中文字幕一页二页| 国产一区二区三区在线播放免费观看| 国产精品三级美女白浆呻吟| 久久这里只有精品99| 精品国产91久久久久久老师| 成人欧美一区二区三区黑人孕妇| 欧美高清自拍一区| 91中文精品字幕在线视频| 国产91色在线|| 欧美日韩美女在线观看| 国产精品一区二区三区久久久| 亚洲自拍欧美色图| 国产91色在线|免| 国产深夜精品福利| 久久久久久伊人| 国产精品久久久久久久美男| 久久亚洲精品中文字幕冲田杏梨| 欧美激情国产日韩精品一区18| 日韩av网址在线观看| 国产美女扒开尿口久久久| 久久九九全国免费精品观看| 国产福利视频一区| 青草成人免费视频| 亚洲va欧美va国产综合久久| 久久久久久国产精品三级玉女聊斋| 久久亚洲一区二区三区四区五区高| 色综合视频一区中文字幕| 亚洲国内精品在线| 亚洲人成在线一二| 国产午夜精品全部视频播放| 国产精品免费视频久久久| 91免费国产视频| 亚洲国产精品专区久久| 日韩av123| 久久99热精品| 色一区av在线| 日韩高清电影好看的电视剧电影| 欧美大成色www永久网站婷| 粉嫩av一区二区三区免费野| 日韩欧美在线视频日韩欧美在线视频| 亚洲精品欧美日韩| 91亚洲va在线va天堂va国| 国产亚洲aⅴaaaaaa毛片| 欧美激情一区二区三级高清视频| 久国内精品在线| 日韩欧美在线观看| 国产精品狼人色视频一区| 久久精品成人一区二区三区| 日韩一级黄色av| 色999日韩欧美国产| 久久999免费视频| 欧美不卡视频一区发布| 欧美日本高清视频| 欧美丝袜第一区| 韩剧1988在线观看免费完整版| 中文字幕一区日韩电影| 亚洲视频axxx| 欧美视频在线免费看| 欧美极品美女电影一区| 亚洲国模精品私拍| 黄色成人av在线| 久久国产精品久久精品| 国产剧情久久久久久| 日韩精品中文在线观看| 亚洲第一免费网站| 亚洲精品在线看| 国产精品稀缺呦系列在线| 欧美成人免费全部观看天天性色| 一区二区三区国产在线观看| 国产精品v日韩精品| 亚洲精品自在久久| 一本久久综合亚洲鲁鲁| 亚洲欧美综合图区| 国产精品嫩草影院久久久| 欧美第一黄网免费网站| 美日韩在线视频| 国产suv精品一区二区三区88区| 亚洲黄色av女优在线观看| 久久久亚洲国产天美传媒修理工| 国产精品99免视看9| 欧美日韩亚洲精品内裤| 久久人人97超碰精品888| 7777免费精品视频| 国产精品成人久久久久| 欧洲美女免费图片一区| 日韩激情第一页| 91热精品视频| 国产精品高潮呻吟久久av黑人| 中文字幕精品影院| 九色成人免费视频| 久久综合伊人77777蜜臀| 国产一区二区三区高清在线观看| 欧美成人精品三级在线观看| 亚洲自拍偷拍在线| 日韩成人在线视频观看| 久久综合久久八八| 日韩欧美国产视频| 日韩视频永久免费观看| 欧美成人免费一级人片100| 日韩美女激情视频| 国产亚洲aⅴaaaaaa毛片| 亚洲国产成人av在线| www日韩中文字幕在线看| 亚洲精品成人久久电影| 欧美性jizz18性欧美| 91大神福利视频在线| 午夜精品久久久久久99热软件| 久久久国产视频| 国产亚洲精品一区二555| 一区二区三区日韩在线| 国产亚洲欧美另类中文| 少妇av一区二区三区| 亚洲激情久久久| 久久久久久有精品国产| 日韩av在线免费播放| 国产一区二区三区视频| 中国日韩欧美久久久久久久久| 日本中文字幕久久看| 精品亚洲国产成av人片传媒| 亚洲精品av在线| 国内精品小视频在线观看| 日韩视频―中文字幕| 色伦专区97中文字幕| 亚洲四色影视在线观看| 国模极品一区二区三区| 成人激情视频在线观看| 欧美最猛黑人xxxx黑人猛叫黄| 日韩av电影在线播放| 久久精品福利视频| 在线亚洲国产精品网| 色偷偷偷综合中文字幕;dd| 中文字幕在线精品| 国产成人精品一区二区三区| 中文字幕在线看视频国产欧美| 97香蕉超级碰碰久久免费软件| 亚洲精品久久久久中文字幕二区| 国产成人亚洲综合| 国产视频精品久久久| 成人做爰www免费看视频网站| 亚洲国产欧美一区二区丝袜黑人| 日韩福利伦理影院免费| 成人妇女免费播放久久久| 国产成人精品优优av| 在线视频欧美日韩精品| 日韩在线欧美在线国产在线| 91高清视频免费观看| 国产综合福利在线| 青青在线视频一区二区三区| 欧美日韩国产限制|