/***
结构体学习:
结构体是通过嵌套基本数据类型和其他结构体来自定义数据类型的语法结构。
构建步骤:定义,声明,创建,赋值 ,清除。
***/
#include <stdio.h>
typedef struct POINT{
long int x;
struct POINT *pg;//只能声明指针形式
}point;
int main(int argc, char *argv[])
{
point p;//结构体声明创建方法一
p.x=100;
p.pg=NULL;
//结构体声明创建方法二
struct POINT *p1=(struct POINT *)malloc(sizeof(struct POINT));
point *p2;
p2=(point *)malloc(sizeof(point));//p1和p2完全等效
//赋值
p1->x=111;
//p1->pg=p;//报错 p不是地址
p1->pg=&p; //->pg是指地址
p2->x=222;
p2->pg=p1;
point p3={
7,p1 //p和 *p1都是结构体, &p和 p1是指针地址
};
printf("%d",p.x);
free(p2); //清除内存
return 0;
}