#include <stdio.h>
typedef struct Student
{
char name[64];
int id;
}Student;
typedef struct Teacher
{
char name[64];
int id;
char *p;
char **p2;
Student s1;
Student *p3;
}Teacher;
//1 结构体中套一个结构体
//2 结构体的指针
//3 结构中套一个 自己类型的结构体元素==error
//4 结构体中 套一个 指向自己类型的指针
//数据类型本质:固定大小内存块的别名
/*
typedef struct AdvTeacher
{
char name[64];
int id;
struct AdvTeacher AdvTeacher;
}AdvTeacher; //在自己类型大小 还没有确定的情况下 引用自己类型的元素 是不正确的
//结构体不能嵌套定义 (确定不了数据类型的内存大小,分配不了内存)
*/
typedef struct AdvTeacher2
{
char name[64];
int id;
struct AdvTeacher2 *p2;
}AdvTeacher;
int main(int argc, const char * argv [])
{
Teacher t1;
printf("%lu, %lu\n", sizeof(char *), sizeof(t1));
return 0;
}
结构体嵌套结构体和嵌套结构体指针类型
最新推荐文章于 2024-07-11 10:20:14 发布