English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

结构体(struct)C++

In questo articolo, imparerai le strutture nel programming C++. Cos'è, come definirla e utilizzarla nel programma.

Una struttura è un insieme di variabili di diversi tipi di dati sotto un nome singolo. È simile aClasseSimilmente, entrambi conservano set di dati di diversi tipi di dati.

Ad esempio:Vuoi archiviare alcune informazioni su una persona: il suo nome, il numero di identificazione e lo stipendio. Puoi creare facilmente variabili diverse come name, citNo, salary per memorizzare queste informazioni.

Ma in futuro, potresti voler archiviare informazioni su più persone. Ora, devi creare variabili diverse per ogni informazione di ogni persona: name1, citNo1, salary1, name2, citNo2, salary2

Puoi vedere quanto grandi e confusi sono le variabili e il codice. Inoltre, poiché le variabili non hanno alcuna relazione (informazioni), sarà una grande sfida.

Un metodo migliore è raccogliere tutte le informazioni sotto un Person e utilizzarle per ogni persona. Ora, il codice sembra più semplice, leggibile ed efficiente.

Tutte le informazioni raccolte con un nome singolo Person rappresentano una struttura.

Come dichiarare una struttura in programmazione C++?

La parola chiave struct definisce un tipo di struttura, seguita da un identificatore (il nome della struttura).

Poi, all'interno degli parentesi graffi, puoi dichiarare uno o più membri della struttura (dichiarare variabili all'interno degli parentesi graffi). Ad esempio:

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

Qui viene definita la struttura Person, che ha tre membri: name, age e salary.

Non viene assegnata memoria quando si crea una struttura.

La definizione della struttura è solo una pianta per creare variabili. Puoi considerarla come un tipo di dati. Quando definisci un intero come segue:

int foo;

int specifica che la variabile foo può accettare solo elementi interi. Allo stesso modo, la definizione della struttura specifica solo le proprietà che la variabile di struttura possiede al momento della definizione.

Attenzione: Ricorda di utilizzare il punto e virgola( ; )Fine della dichiarazione della struttura

Come definire una variabile di struttura?

Una volta definita una struttura Person come sopra, puoi definire una variabile di struttura come segue:

Person bill;

Qui viene definita una variabile di struttura bill, il cui tipo è la struttura Person.

Dopo aver definito la variabile di struttura, il compilatore assegna la memoria necessaria.

Considerando che hai un sistema a 32 o 64 bit, la memoria di float è di 4 byte, quella di int è di 4 byte e quella di char è di 1 byte.

Di conseguenza, è stata assegnata alla variabile di struttura bill una memoria di 58 byte.

Come accedere ai membri della struttura?

UtilizzoPunto (.)Gli operatori possono accedere ai membri della struttura.

Supponiamo che tu voglia accedere al membro di proprietà age della variabile di struttura bill e assegnargli il valore 50. Puoi eseguire questa operazione con il seguente codice:

bill.age = 50;

Esempio: Struttura C++

Programma C++ utilizzato per assegnare dati ai membri di una variabile di struttura e mostrarli.

#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;
}

输出结果

输入姓名: 张小三
输入年龄: 22
输入工资: 12200
显示信息:
姓名: 张小三
年龄: 22
工资: 12200

在这里,声明一个具有三个成员name,age和salary的结构体。

在main() 函数内部,p1定义了一个结构变量。然后,要求用户输入信息,并显示用户输入的数据。

您还可以查看这些与结构有关的教程: