结构体嵌套结构体和嵌套结构体指针类型

#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;
}

测试结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值