今天是学习C语言的第17天
时间:2024/10/6 21:16分
使用编译器:vs2019
此贴记录自己的成长
今天学习内容如下
1.自定义类型-结构体
结构体 枚举 联合
//结构体
struct stu
{
char name[20];
}s1, s2; 这里是全局变量
int main()
{
struct stu s1,s2 这里是局部变量
}
//特殊声明 匿名结构体类型 结构体类型只是struct 没有后面的东西
struct
{
char name[20];
}s1; 只能在这里声明变量一次,因为没有类型
数据结构
数据在内存的存储结构
线形
--
顺序表
链表 每个元素都有关系 1找到2 2找到3 3找到4
1里包含2 2包含3 3包含4 就可以找到
结构体的自引用
struct Node 这是一个节点 如果一直包含下去,节点内存会过大 sizeof(struct Node) 所以这种写法失败
{
int data;
struct Node next;
};
struct Node 存放地址,而不直接存放下一个节点的内容,这样内存就小了
{
int data;
struct Node* next; |||数据域|||指针域|||
};
树形
--
二叉树
结构体内存对齐
2.结构体内存对齐,内存占用大小
两次访问指的是32位机子上,一次4个字节 8086 8088 类似
gcc编译器里没有对齐数,对齐数就是他本身字节数
3.修改对齐数
4.后面讲这个
5.结构体传参优选传地址过去
6.位段
位段作用是修改占的比特位数量
位段一般用来网络里面,有固定的位,不像跨平台类似的
7.枚举
只有创建变量才有空间,只是个图纸跟结构体一样
define 也可以,但是枚举可以自动给后面值+1赋值
枚举不是替换
8.联合(共用体)
C语言学习日志
时间:2024/10/6 21:16分
目标:一个月学完c语言
倒计时:13天