举例:
struct Person per;
struct Person是变量的类型,per是变量的名称。
*** 成员变量的赋值 ***
1、 struct Person per = {22,1.75,"haha"};
2、 struct Person per = {.height = 1.75,.name = "haha",.age = 22};
3、 struct Person per;
per = {22,1.75,"haha"}; //错误
per.name = "haha"; per.age = 22; //正确
*** 结构体类型的其余定义方式 ***
1、 定义结构体类型的同时, 定义一个结构体变量
struct Student { ... } stu; // 结构体定义就相当于int,这样就相当于int stu;
stu.name = "MJ"; stu.age = 27; stu.height = 1.80;
或者
struct Student { ... } stu = {27, "mj", 1.8f}; // 可以直接赋值,相当于int s = 5;
这样定义的结构体类型还可以继续使用:struct Student stu2;
2、 如果只需要定义一个变量,那么结构体名可以省略,直接定义一个结构体变量
struct { ... } stu = {27, "mj", 1.8f};
这种情况就不能再定义其它同类型的变量了,只能定义一个 。
*** 嵌套 ***
举例:
struct Date
{
int year;
int month;
int day;
};
struct Student
{
int no; //学号
struct Date birthday; //生日
struct Date ruxueDate; //入学日期
};
*** 结构体数组 ***
举例:
struct Student
{
int age;
char* name;
} a[2] = { {22, "qwe"}, {23, "abc"} };
也可以定义结构体类型和定义数组分开:
struct Student
{
...
};
struct Student a[2] = {{}, {}}; // 定义一个struct Student类型的数组
struct Student b[2] = {{}, {}};
注意:struct Student就是一个类型,它们是一个整体。
*** 结构体指针 ***
举例:
struct Student
{
...
};
struct Student *s; // 定义一个struct Student类型的指针
struct Student stu = {...}; // 定义同种类型的结构体变量
s = &stu; // 指针指向同种类型的变量
使用结构体指针访问成员,两种方式:
(*s).age; // 相当于 stu.age ,括号不可以省略
s -> age; // -> 成员访问符,通常使用这种方式
------- android培训、ios培训、期待与您交流! ----------
详细请查看:www.itheima.com