亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對(duì)象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊(cè)

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

在本文中,您將學(xué)習(xí)C ++編程中的結(jié)構(gòu)。它是什么,如何定義它并在程序中使用它。

結(jié)構(gòu)是一個(gè)單一名稱下不同數(shù)據(jù)類型的變量的集合。它與相似,兩者都保存著不同數(shù)據(jù)類型的數(shù)據(jù)集合。

例如:您要存儲(chǔ)有關(guān)某個(gè)人的一些信息:其姓名,身份證號(hào)碼和薪水。您可以輕松創(chuàng)建不同的變量name, citNo, salary來分別存儲(chǔ)這些信息。

但是,將來,您可能希望存儲(chǔ)有關(guān)多個(gè)人的信息?,F(xiàn)在,您需要為每個(gè)人的每個(gè)信息創(chuàng)建不同的變量:name1, citNo1, salary1, name2, citNo2, salary2

您可以看到變量和代碼看起來有多大和混亂。另外,由于變量之間不存在任何關(guān)系(信息),因此這將是一項(xiàng)艱巨的任務(wù)。

更好的方法是將所有相關(guān)信息收集在一個(gè)Person下,并將其用于每個(gè)人。 現(xiàn)在,代碼看起來也更加簡(jiǎn)潔,易讀且高效。

用一個(gè)單獨(dú)的名字Person收集的所有相關(guān)信息就是一個(gè)結(jié)構(gòu)體。

如何在C ++編程中聲明結(jié)構(gòu)體?

struct關(guān)鍵字定義一個(gè)結(jié)構(gòu)類型,后跟一個(gè)標(biāo)識(shí)符(結(jié)構(gòu)的名稱)。

然后,在花括號(hào)內(nèi),可以聲明該結(jié)構(gòu)的一個(gè)或多個(gè)成員(在花括號(hào)內(nèi)聲明變量)。例如:

struct Person
{
    char name[50];
    int age;
    float salary;
};

這里定義結(jié)構(gòu)體Person,其具有三個(gè)成員:name,age和salary。

創(chuàng)建結(jié)構(gòu)時(shí),不會(huì)分配內(nèi)存。

結(jié)構(gòu)定義只是創(chuàng)建變量的藍(lán)圖。您可以將其作為一中數(shù)據(jù)類型。當(dāng)您如下定義整數(shù)時(shí):

int foo;

int指定變量foo只能接納整數(shù)元素。 同樣,結(jié)構(gòu)定義僅指定結(jié)構(gòu)變量在定義時(shí)所擁有的屬性。

注意: 切記要以分號(hào)(;)結(jié)束結(jié)構(gòu)體的聲明

如何定義結(jié)構(gòu)體變量?

一旦你像上面那樣聲明了一個(gè)結(jié)構(gòu)體 Person。你可以定義一個(gè)結(jié)構(gòu)變量如下:

Person bill;

這里定義了一個(gè)結(jié)構(gòu)變量bill,它的類型是結(jié)構(gòu)體Person。

定義了結(jié)構(gòu)體變量后,編譯器才分配所需的內(nèi)存。

考慮到您具有32位或64位系統(tǒng),float的內(nèi)存為4字節(jié),int的內(nèi)存為4字節(jié),而char的內(nèi)存為1字節(jié)。

因此,為結(jié)構(gòu)體變量bill分配了58個(gè)字節(jié)的內(nèi)存。

如何訪問結(jié)構(gòu)體的成員?

使用點(diǎn)(.)運(yùn)算符可以訪問結(jié)構(gòu)變量的成員。

假設(shè)您要訪問結(jié)構(gòu)變量bill的成員屬性age并給其分配值50。您可以使用以下代碼執(zhí)行此任務(wù):

bill.age = 50;

示例:C ++結(jié)構(gòu)

C ++程序,用于將數(shù)據(jù)分配給結(jié)構(gòu)變量的成員并顯示它。

#include <iostream>
using namespace std;

struct Person
{
    char name[50];
    int age;
    float salary;
};

int main()
{
    Person p1;
    
    cout << "輸入姓名: ";
    cin.get(p1.name, 50);
    cout << "輸入年齡: ";
    cin >> p1.age;
    cout << "輸入工資: ";
    cin >> p1.salary;

    cout << "\n顯示信息:" << endl;
    cout << "姓名: " << p1.name << endl;
    cout <<"年齡: " << p1.age << endl;
    cout << "工資: " << p1.salary;

    return 0;
}

輸出結(jié)果

輸入姓名: 張小三
輸入年齡: 22
輸入工資: 12200

顯示信息:
姓名: 張小三
年齡: 22
工資: 12200

在這里,聲明一個(gè)具有三個(gè)成員name,age和salary的結(jié)構(gòu)體。

在main() 函數(shù)內(nèi)部,p1定義了一個(gè)結(jié)構(gòu)變量。然后,要求用戶輸入信息,并顯示用戶輸入的數(shù)據(jù)。

您還可以查看這些與結(jié)構(gòu)有關(guān)的教程: