结构体struct的定义和用法
生活随笔
收集整理的這篇文章主要介紹了
结构体struct的定义和用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結構體(struct)
通俗來講,就是打包封裝一些有共同特征的不同數據的變量封裝在內部,通過一定方法訪問修改內部變量。可以說,結構體是讓一些很散的數據變得很整(即井然有序)。
結構體的定義和使用
語法:struct 結構體名 { 結構體成員列表 };?
- struct 結構體名 變量名
- struct 結構體名 變量名 = { 成員1值 , 成員2值…}
- 定義結構體時創建變量
其中,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的定义和用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于C语言之结构体(struct)介绍
- 下一篇: C语言结构体(struct)常见使用方法