#include <stdio.h>
int main()
{
//1.定义结构体类型(并不会分配内存空间)
struct Person
{
int age;
double height;
char *name;
};
//2.定义结构体变量(真正分配内存空间)
struct Person p = {20,1.78,"hansion"};
printf("age=%d\n",p.age);
p.age = 40;
printf("age=%d\n",p.age);
return 0;
}
结构体所占存储空间必须是最大成员所占字节数的倍数
指向结构体的指针
#include <stdio.h>
int main()
{
struct Person
{
int age;
double height;
};
struct Person p1 = {20,1.78};
struct Person *p;
p = &p1;
//第一种方式
printf("age=%d,height=%f\n",p1.age,p1.height);
//第二种方式
printf("age=%d,height=%f\n",(*p).age,(*p).height);
//第三种方式
printf("age=%d,height=%f\n",p -> age,p -> height);
return 0;
}
利用指针访问结构体的成员
- (*p).成员名称
- p -> 成员名称
网友评论