欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++結(jié)構(gòu)體詳解

 更新時間:2021年09月22日 11:54:17   作者:SamRol  
這篇文章主要介紹了C++ 結(jié)構(gòu)體與共用體的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下,希望能夠給你帶來幫助

一、結(jié)構(gòu)體的定義

struct Student
{
    string name;
    int age;
    int score;
};

二、創(chuàng)建具體的變量(3種)

struct Student s1;
s1.name = "張三";
s1.age = 18;
s1.score = 90;
struct Student s1 = {"李四" ,19 , 80 };
struct Student
{
    string name;
    int age;
    int score;
}s3;
s3.name = "王五";
s3.age = 18;
s3.score = 89;

三、結(jié)構(gòu)體數(shù)組

struct Student stuArray[3] = 
{
    {"張三" , 20 , 92},
    {"李四" , 18 , 89},
    {"王五" , 24 , 95}
};
stuArray[2].name = "趙六";// 把王五改為趙六
//遍歷結(jié)構(gòu)體數(shù)組
for(int i =0; i < 3;i++)
{
    cout << "姓名:" << stuArray[i].name
         << "年齡:" << stuArray[i].age
         << "分?jǐn)?shù):" << stuArray[i].score <<endl;
}

四、結(jié)構(gòu)體指針

利用操作符-> 可以通過結(jié)構(gòu)體指針訪問結(jié)構(gòu)體屬性。

struct Student s = {"張三", 18, 90};
struct Student *p = &s;
//通過指針訪問結(jié)構(gòu)體變量中的數(shù)據(jù)
cout << "姓名:" << p->name << endl; 

五、結(jié)構(gòu)體嵌套結(jié)構(gòu)體

struct student
{
    String name;
    int age;
    int score;
}
struct teacher
{
    int id;
    String name;
    int age;
    struct student stu;
}
teacher t;
t.stu.name;

六、結(jié)構(gòu)體做函數(shù)參數(shù)

1、值傳遞

void printStudent(struct Student s1)
{
    cout << "姓名:" <<s1.name << "年齡:" << s1.age << "分?jǐn)?shù)" << s1.score;
}
int main(){
    struct Student s1;
    s1.name = "張三";
    s1.age = 18;
    s1.score = 95;
    printStudent(s1);
}

2、地址傳遞

void printStudent(struct Student * s1)
{
    cout << "姓名:" << p->name << "年齡:" << p->age << "分?jǐn)?shù)" << p->score;
}
int main(){
    struct Student s1;
    s1.name = "張三";
    s1.age = 18;
    s1.score = 95;
    printStudent(&s1);
}

七、結(jié)構(gòu)體中const使用場景

void printStudent(const Student * s1)
{
    cout << "姓名:" << p->name << "年齡:" << p->age << "分?jǐn)?shù)" << p->score;
}
int main(){
    struct Student s1;
    s1.name = "張三";
    s1.age = 18;
    s1.score = 95;
    printStudent(&s1);
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 一文讀懂C++中Protobuf

    一文讀懂C++中Protobuf

    Protocol Buffers 是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化、或者說序列化,本文詳解了Protobuf的使用,具有一定的參考價值,感興趣的可以了解一下
    2023-05-05
  • C語言中strlen()函數(shù)的使用詳解

    C語言中strlen()函數(shù)的使用詳解

    strlen函數(shù)是用來求字符串長度的函數(shù),這個函數(shù)遇到‘\0’就會停止,且這個長度不包含‘\0’,這篇文章給大家介紹了C語言中strlen()函數(shù)的使用,感興趣的朋友一起看看吧
    2024-02-02
  • 二維指針動態(tài)分配內(nèi)存連續(xù)問題深入分析

    二維指針動態(tài)分配內(nèi)存連續(xù)問題深入分析

    當(dāng)我們定義一個二維指針時,如果需要存儲相應(yīng)的數(shù)據(jù),就需要我們動態(tài)的分配內(nèi)存,這時,有一點是需要注意的,分配內(nèi)存的方法不同,內(nèi)存的連續(xù)性也是不相同的
    2013-07-07
  • C++?STL反向迭代器的實現(xiàn)

    C++?STL反向迭代器的實現(xiàn)

    本文主要介紹了C++?STL反向迭代器的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 模擬實現(xiàn)C語言中的內(nèi)存管理

    模擬實現(xiàn)C語言中的內(nèi)存管理

    這篇文章主要內(nèi)容是模擬C語言中的內(nèi)存管理,需要的朋友可以參考下
    2015-07-07
  • C語言直接插入排序算法介紹及示例

    C語言直接插入排序算法介紹及示例

    插入排序是把一個記錄插入到已排序的有序序列中,使整個序列在插入該記錄后仍然有序。插入排序中較簡單的種方法是直接插入排序,其插入位置的確定方法是將待插入的記錄與有序區(qū)中的各記錄自右向左依次比較其關(guān)鍵字值的大小
    2022-08-08
  • C++的最短路徑的弗洛伊德算法案例講解

    C++的最短路徑的弗洛伊德算法案例講解

    這篇文章主要介紹了C++的最短路徑的弗洛伊德算法案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言的數(shù)組指針與函數(shù)指針詳解

    C語言的數(shù)組指針與函數(shù)指針詳解

    這篇文章主要為大家詳細(xì)介紹了C語言的數(shù)組指針與函數(shù)指針,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 詳解C語言對字符串處理函數(shù)的實現(xiàn)方法

    詳解C語言對字符串處理函數(shù)的實現(xiàn)方法

    這篇文章主要為大家介紹了C語言對字符串處理函數(shù)的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C++精要分析右值引用與完美轉(zhuǎn)發(fā)的應(yīng)用

    C++精要分析右值引用與完美轉(zhuǎn)發(fā)的應(yīng)用

    C++11標(biāo)準(zhǔn)為C++引入右值引用語法的同時,還解決了一個短板,即使用簡單的方式即可在函數(shù)模板中實現(xiàn)參數(shù)的完美轉(zhuǎn)發(fā)。那么,什么是完美轉(zhuǎn)發(fā)?它為什么是C++98/03 標(biāo)準(zhǔn)存在的一個短板?C++11標(biāo)準(zhǔn)又是如何為C++彌補這一短板的?別急,本節(jié)將就這些問題給讀者做一一講解
    2022-05-05

最新評論