定义结构体
结构体定义由关键字 struct 和结构体名组成,结构体名可以根据需要自行定义。
struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:
struct tag {
member-list
member-list
member-list
...
} variable-list ;
tag 是结构体标签。
member-list 是标准的变量定义,比如 int i; 或者 float f;,或者其他有效的变量定义。
variable-list 结构变量,定义在结构的末尾,最后一个分号之前,可以指定一个或多个结构变量。
结构体变量和指向结构体指针对于结构体成员的访问
为了访问结构体变量的成员,我们使用成员访问运算符(.)。
必须使用 -> 运算符访问指向结构体指针的结构体成员。
例如:
#include <stdio.h>
#include <string.h>
int main()
{
typedef struct AA
{
char a;
char b;
}str;
str *sss;
str aaa = {10,12};
sss = &aaa;
printf("aaa:%d,bbb:%d",aaa.a,sss->a);
return 0;
}
上面这一段程序中aaa为结构体变量,sss为结构体指针,两者对于结构体成员的访问使用的运算符是不同的。