分别从C和C++来揭开它们神秘的面纱,闲言少叙,直入正题。
一、C语言中
①:只使用struct定义结构体
struct Student
{
char name[10];
int age;
};
这样定义结构体的时候,在声明变量的时候只能:struct Student stu1;
②:用typedef struct定义结构体
Q:什么是typedef?
A:在计算机的编程语言中用来为复杂的声明定义简单的命名。
typedef struct Student
{
char name[10];
int age;
}MyStu;
这样定义结构体的时候,在声明变量的时候就可以 MyStu stu1;
这里的MyStu相当于是struct Student的一个别名,这是typedef的作用。
二:C++中
①:使用struct定义
struct Student
{
char name[10];
int age;
};
C++中很简单,这样就定义了Student结构体类型,声明变量的时候:Student stu1
②:C++中如果使用了typedef,则会造成区别
struct Student
{
char name[10];
int age;
}stu; //没有使用typed
这里stu是一个变量,可以直接访问结构体成员变量 : stu.age
typedef struct Student
{
char name[10];
int age;
}Stu; //使用了typedef
这里的Stu是一个结构体类型,等同于struct Student
如要访问结构体成员变量,则Stu stu1; stu1.age
当然,在C++中
struct Student
{
char name[10];
int age;
}
这样也定义了Student这个结构体,声明变量的时候可以直接Student stu1。
到这里,它们的神秘面纱已被揭开,在以后的编程中稍微注意咯!胡巴。。。