C语言初阶——9.结构体
1. 结构体操作
1.1 取地址
struct Point3D{
int x;
int y;
int z;
};
struct Point3D p = {
1,2,3};
printf("&p = %p\n",&p);
printf("&(p.x) = %p\n",&p.x);
printf("&(p.y) = %p\n",&p.y);
printf("&(p.z) = %p\n",&p.z);
结构体名不是结构体变量的地址,必须使用&获取地址。
数组名即地址。
1.2 传参
void Print(struct Point3D p){
printf("(%d,%d,%d)",p.x,p.y,p.z);
}
整个结构体作为参数的值传入函数。这时候在函数内新建一个结构体变量并复制值。结构体可以作为返回值,也是结构体整体复制。
2. 结构体指针
struct Point3D p = {
1,2,3};
struct Point3D* q = &p;
- 结构体指针访问成员
结构体指针访问成员的