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);
结构体的偏移量+内存对齐 滴水详讲
本文来自博客园,作者:逆向狗,转载请注明原文链接:https://www.cnblogs.com/Agtw/p/17204429.html