从零学编程-C语言-第17天

今天是学习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天

相关推荐
学代码的CJY8 分钟前
从代码出发理解时间复杂度与空间复杂度
数据结构·算法
小溪学编程28 分钟前
从 C++ 的规范变迁看语言发展
jvm·c++·面试
白帽攻防录29 分钟前
SRC 挖洞:WSO2 JWT 算法混淆绕过深度复盘,CVE-2026-5430 不支持的算法怎么变成管理员
网络·算法·安全·网络安全·jwt
白山编程大哥35 分钟前
Lua 中使用 C 语言的用户自定义类型——userdata
c语言·junit·lua
无敌贵点大王1 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
小O的算法实验室1 小时前
IEEE TEVC,基于精确与DQN群智能调度方法用于多目标异构USV
算法
phltxy1 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui
ShineWinsu1 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
字节跳动的猫2 小时前
LikeShop 积分体系全链路改造:获取规则、订单抵扣与积分商品兑换二开
运维·数据结构
可乐ea2 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测