结构体
结构体类似于类,可以存储多类型的变量。它有自己的作用域,如果他声明在函数体外,则可以被多个函数调用,如果在函数体内,则只能由该函数调用。
结构体的声明方法如下:
struct StcTest{};
然后在结构体内(花括号内)声明该结构体的成员变量,如下:
struct StcTest{
string a;
int b;
float c;
char d;
};
在使用结构体前,需要创建结构体的实体,如下:
StcTest stcTest;
然后才可以访问结构体的成员变量,如下:
string name = stcTest.a;
int score = stcTest.b;
......
在创建结构体的实体时,可以对结构体的成员变量按顺序进行赋值,如:
StcTest stcTest1 = {"a", 1, 3.5f, 'b'};
StcTest stcTest2{"a", 1, 3.5f, 'b'};
StcTest stcTest3{ };
示例:
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
struct Stc1{
public:
string name = "Haze";
float height = 176.8f;
float weight = 74.0f;
string job = "Programmer";
};
int main()
{
Stc1 stc;
cout << stc.name << "'s height is "
<< stc.height << "cm and his weight is "
<< stc.weight << "kg and he is a " << stc.job << endl;
Stc1 stc2;
stc2.name = "YH";
stc2.height = 177.0f;
stc2.weight = 74.0f;
stc2.job = "Technical artist";
cout << stc2.name << "'s height is "
<< stc2.height << "cm and his weight is "
<< stc2.weight << "kg and he is a " << stc2.job << endl;
}
可以声明结构体数组,其方法和其他输入类似,如下:
StcTest stcTest[]{{}, {}, {}, {}};
因为结构体数组的元素均为一个结构体,所以每个元素都需要用花括号括起来。