在C++中
关键字struct和class都可以定义类,唯一的不同在于struct定义的类的成员的默认访问权限是public,class定义的类的成员的默认访问权限是private。
如果在定义类时希望类的所有成员都是public的,可以直接使用struct定义。
struct在C语言中
在C语言中定义结构体有两种方式:使用typedef和不使用typedef
不使用typedef时,定义变量需要使用struct关键字
struct Birthday{int year;int month;int day;} b1, *b2; // 可以在结构体定义的同时定义结构体变量// 结构体定义之后再定义变量需要使用合法struct Birthday b3; // 合法// Birthday b4; // 不合法// unknown type name 'Birthday'; use 'struct' keyword to refer to the type
使用typedef时,定义变量可直接使用结构体名字
typedef的用法:typedef type new_type;。type和new_type名字可以相同。
typedef struct Birthday{int year;int month;int day;} BD;// 定义变量时可以使用struct Birthday,也可以使用别名BDBD b1; // 合法struct Birthday b2; // 合法
