日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结构体struct的定义和用法

發布時間:2023/12/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结构体struct的定义和用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

結構體(struct)

通俗來講,就是打包封裝一些有共同特征的不同數據的變量封裝在內部,通過一定方法訪問修改內部變量。可以說,結構體是讓一些很散的數據變得很整(即井然有序)。

結構體的定義和使用

語法:struct 結構體名 { 結構體成員列表 };?

  • struct 結構體名 變量名
  • struct 結構體名 變量名 = { 成員1值 , 成員2值…}
  • 定義結構體時創建變量
#include "iostream" using namespace std;//結構體變量創建方式3:定義結構體時順便創建變量 struct student {//成員列表char name[10];int age;int score; }stu3int main(){//結構體變量創建方式1: struct 結構體名 變量名struct student stu1;stu1.name = "七喜";stu1.age = 20;stu1。score = 95;cout<<"姓名:"<<stu1.name <<" 年齡:"<<stu1.age <<" 分數:"<<stu1.score <<endl;//創建結構體變量方式2:struct student sut2 = {"可樂",19,100};cout<< "姓名:"<<stu2.name<<" 年齡:"<<stu2.age<<" 分數:"<<stu2.score<< endl;//方式3stu3.name = "雪碧";stu3.age = 20;stu3.score = 90;cout<<"姓名:"<<stu3.name <<" 年齡:"<<stu3.age<<" 分數:"<<stu3.score<< endl;system('pause');return 0; }

其中,system('pause')在C中就是從程序里調用“pause”命令,類似:“Press any key to exit”等待用戶按下任意鍵繼續的意思;在C++中,作用于防止窗口消失,即暫停黑窗口,注意不要在return語句之后加system(“pause”),那樣執行不了!

結構體數組

作用:將自定義的結構體放入到數組中方便維護

?語法: struct? 結構體名? 數組名[元素個數] = {? { } ,? { } ,...., { }? }

結構體指針

. 和->d 區別:

.? 來訪問結構體成員/屬性

-> 來訪問其指向的結構體成員/屬性

結構體嵌套

#include "iostream" using namespace std;//學生結構體定義 struct student {//成員列表string name; //姓名int age; //年齡int score; //分數 };//教師結構體定義 struct teacher {//成員列表int id; //職工編號string name; //教師姓名int age; //教師年齡struct student stu; //子結構體 學生 };int main() {struct teacher t1;t1.id = 10000;t1.name = "老王";t1.age = 40;t1.stu.name = "張三";t1.stu.age = 18;t1.stu.score = 100;cout << " 教師 職工編號: " << t1.id << " 姓名: " << t1.name << " 年齡: " << t1.age << endl;cout << " 輔導學員 姓名: " << t1.stu.name << " 年齡:" << t1.stu.age << " 考試分數: " << t1.stu.score << endl;system("pause");return 0; }

結構體做函數參數

傳遞方式包括:值傳遞、地址傳遞

#include "iostream" using namespace std;//學生結構體定義 struct student {//成員列表string name; //姓名int age; //年齡int score; //分數 };//值傳遞 void printStudent(student stu ) {stu.age = 28;cout << "子函數中 姓名:" << stu.name << " 年齡: " << stu.age << " 分數:" << stu.score << endl; }//地址傳遞 void printStudent2(student *stu) {stu->age = 28;cout << "子函數中 姓名:" << stu->name << " 年齡: " << stu->age << " 分數:" << stu->score << endl; }int main() {student stu = { "張三",18,100};//值傳遞printStudent(stu);cout << "主函數中 姓名:" << stu.name << " 年齡: " << stu.age << " 分數:" << stu.score << endl;cout << endl;//地址傳遞printStudent2(&stu);cout << "主函數中 姓名:" << stu.name << " 年齡: " << stu.age << " 分數:" << stu.score << endl;system("pause");return 0; }

注:如果不想修改主函數中的數據,用值傳遞,反之用地址傳遞。

可以用關鍵字const定義指針stu,修飾列表成員屬性,保證修飾的屬性的值(左定值,右定向)不被改變,防止函數體中的誤操作。

總結

以上是生活随笔為你收集整理的结构体struct的定义和用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。