在C语言和C++中,结构体定义是存在区别的,比如在C语言中定义结构体,首先是使用typedef。
typedef struct Student{ int age;}Stu;
此时定义的结构体。可以使用 struct Student stu1 来声明变量。当然也可以使用Stu stu1 来声明,因为此时已经将struct Student 定义为Stu。
#includetypedef struct Student{ int a;}Stu;int main(){ struct Student stu1; stu1.a = 17; printf("第一个:%d\n", stu1.a); Stu stu2; stu2.a = 18; printf("第二个:%d\n", stu2.a); return 0;}
而此时C++ 只需要定义 struct Student就可以了
#includeusing namespace std;struct Student{ int a;}stu2; //声明结构体的同时声明变量int main() { struct Student stu1; stu1.a = 18; stu2.a = 19; cout << "第一个:"<< stu1.a<
声明的同时可以直接声明一个变量,比如stu2。而在后续的声明中,可以直接使用 struct Student 来声明新的变量。如果不声明这个结构体的名称,则无法声明对于的变量,此处就不能声明stu1
#includeusing namespace std;struct { int a;}stu2; //声明结构体的同时声明变量int main() { //struct Student stu1; //stu1.a = 18; stu2.a = 19; //cout << "第一个:"<< stu1.a<
未完待续