结构的定义
结构定义的位置:一般都代码开头的位置。
定义结构的格式:
struct 结构名{
类型名 结构成员1;
类型名 结构成员2;
.......................
类型名 结构成员n;
};
#注意结尾有分号
例如:
struct addr{
int host;
char name[20];
};
结构的嵌套定义:
只需要注意类型名,结构变量的的类型名为 struct 结构名,例如下面的 struct addr address;
struct addr{
int host;
char name[20];
};
struct student{
int num;
int computer,math;
struct addr address;
};
结构变量的定义和初始化
结构变量的定义
结构变量的定义有几种,常见的有:
1. struct 结构名 结构变量;
例如:
struct addr s;
# 定义了结构变量 s
2. (这种定义方法可以省略结构名)
struct 结构名{
类型名 结构成员1;
类型名 结构成员2;
.......................
类型名 结构成员n;
} 结构变量表;
结构变量的初始化
struct 类型名 结构变量={初始值1,初始值2,初始值3,.....,初始值n};
注意:赋值是有顺序的(按照定义结构成员时的顺序),初始值的格式,比如汉字要加引号。
结构变量的使用
已知 ‘ . ’叫结构成员操作符,它的优先级是最高级别的。
struct 结构名 结构变量;
结构变量 . 结构成员 = 要赋的值;
例:
#include<stdio.h>
struct addr{
int host;
char name[20];
};
int main (){
struct addr s;
s.host = 23;
scanf("%s",&s.name);
printf("%d %s",s.host,s.name);
}
输入:li
其结果为: