C语言和C++有许多共同优美之处,我们不必束缚与这两种语言自带的数据类型;
我们完全可以自己根据具体情况定义新的数据类型并定义数据变量;这个概念就是贯穿C++的核心:对象
下面,就简单的列举一个结构
结构(structure)由程序员自己定义,由其他变量类型组合而成的数据类型;
定义结构体语法:关键字和C语言的一样是 struct
srtuct Stu
{
type varname;
type varname1;
}; 记得这里要分号结尾,这是一条语句
结构 ------------是处理多种属性数据的时候很好的选择!
下面我们定义一个学生的结构来具体看下结构的使用
struct Stu
{
int Num;
std::string Name;
std::string Sex;
int Age;
double Score;
};
定义好结构,我们就可以使用结构这个自定义的数据类型了
定义一个学生小明
struct Stu xiaoming;
xiaoming.Num = 101;
xiaoming.Name = "李小明";
xiaoming.Sex = "M";
xiaoming.Age = 12;
xiaoming.Score = 88.5;
定义结构体,用.操作符来赋值
如果在定义结构体之前已经知道数据了,也可以在定义的时候赋值,下面这样也是可以的
struct Stu xiaoming = {101,"li xiaoming","M",12,78.5};
指针与结构
既然C语言和C++中指针无处不在,无所不能的,当然也可以用指针指向结构来进行一系列的操作了
struct Stu
{
int Num;
std::string Name;
std::string Sex;
int Age;
double Score;
};
还是用上面定义好的结构
定义一个Stu结构体的学生 ZhangShan
struct Stu ZhangShan;
struct Stu *Zs = &ZhangShan;
(*Zs).Name = "张三";
(*Zs).Age = "M";
...................
如果觉得这种方式不好看,麻烦啥的,我们也可以用指针的操作
Zs->Name = "张三";
Zs->Age = "M";
.................