3.10 C提高 6 结构体专题

2.结构体基本操作

点击查看代码
struct Teacher
{
	char name[50];
	int age;
};
//3、结构体变量的初始化
//定义变量时直接初始化,通过{}
struct Teacher t7 = { "lily", 18 };

//4、typedef改类型名
typedef struct Teacher3
{
	char name[50];
	int age;
}Teacher3;

strcpy(t2.name, "xiaoming"); 结构体给值



2._结构体数组

点击查看代码
Teacher a[3] = {
		{ "a", 18 },
		{ "a", 18 },
		{ "a", 18 }
	};  静态
	
	动态数组 
	//Teacher p[3]
	Teacher *p = (Teacher *)malloc(3 * sizeof(Teacher));
	

3.结构体套一级指针
typedef struct Teacher { char *name; int age; }Teacher;

4.结构体套二级指针
`typedef struct Teacher
{
int age;
char **stu; //二维内存
}Teacher;

`

点击查看代码
//浅拷贝
Teacher t1;
	t1.name = (char *)malloc(30);
	strcpy(t1.name, "lily");
	t1.age = 22;
//深拷贝
	Teacher t2;
	t2 = t1;
	//深拷贝,人为增加内容,重新拷贝一下
	t2.name = (char *)malloc(30);
	strcpy(t2.name, t1.name);

结构体的偏移量+内存对齐 滴水详讲

posted @ 2023-03-10 18:47  逆向狗  阅读(16)  评论(0)    收藏  举报