#include<stdio.h>
#include<stdlib.h>
typedef struct student{
int age;
int sex;
struct student *next;
}student,*p,(*p_array_point)[10],*p_point_array[20];
void main(){
//普通结构体变量
student stu;
stu.age = 10;
stu.sex = 1;
stu.next = (struct student*)malloc(sizeof(struct student));
stu.next->age = 20;
stu.next->sex = 2;
stu.next->next = NULL;
//指针结构体变量
p p_stu;
p_stu = (p)malloc(sizeof(student));
p_stu->age = 30;
p_stu->sex = 3;
p_stu->next = NULL;
//数组指针结构体变量:指针
p_array_point p_array_point_stu;
p_array_point_stu = (struct student(*)[10])malloc(10*sizeof(struct student));
for(int i=0;i<10;i++){
(*p_array_point_stu)[i].age = i+10;
(*p_array_point_stu)[i].sex = i+10;
(*p_array_point_stu)[i].next = NULL;
}
//指针数组结构体变量:数组
p_point_array p_point_array_stu;
*p_point_array_stu = (struct student*)malloc(20*sizeof(struct student));
*p_point_array_stu = &stu;
printf("%d\n",(*p_point_array_stu[0]).age);
}