C语言进阶
文章平均质量分 97
C语言深层次知识
RO-BERRY
来日顶峰相见
展开
-
动态内存管理(C语言进阶版)
我们已经掌握的内存开辟方式有:空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道。那数组的编译时开辟空间的方式就不能满足了。这时候就只能试试动态存开辟了。这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。原创 2023-08-11 10:46:18 · 190 阅读 · 14 评论 -
详解C语言自定义类型(结构体,枚举,联合)
1.结构体1.1 结构体的基础知识1.2 结构体的声明1.3 特殊的声明1.4 结构体的自引用1.4.1 链表1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.6.1 结构体内存对齐规则1.6.2 内存计算实例例1例2例3例41.7 修改默认对齐数1.8 结构体传参2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用3. 枚举3.1 枚举类型的定义3.2 枚举的优点3.3 枚举的使用4. 联合(共用体)4.1 联合类型的定义4.2 联合的特点。原创 2023-07-22 11:09:06 · 362 阅读 · 16 评论 -
字符函数和字符串函数下篇(详解)
致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识,对纯音乐有独特的喜爱📗 日后方向 : 偏向于CPP开发以及大数据方向,如果你也感兴趣的话欢迎关注博主,期待更新。原创 2023-07-21 08:17:26 · 232 阅读 · 19 评论 -
指针进阶(万字深层次指针解析)
我们知道数组指针是指向数组的指针,那函数指针是不是指向函数的指针呢?让我们来看看到底是不是数组指针里面存的是数组的地址,类比一下,函数指针里面存的是不是函数的地址呢?这里你肯定会好奇函数也有地址吗?其实是有的。return 0;我们来输出一下:我们发现它确实是有地址的,而且我们可以发现函数名是函数的地址,&函数名也是函数的地址接下来我们再看一段代码int x = 3;int y = 5;return 0;我们这里定义的。原创 2023-07-16 17:03:13 · 399 阅读 · 55 评论 -
数据在内存中的存储进阶
前面我们已经学习了基本的内置类型:对于整形家族的类型来说,有有符号和无符号的区分简易的来说:我们的有符号(signed)是包含了正数以及负数,而我们在定义int时,一般是省略了前面的signed,C语言里面signed int = int;我们的无符号(unsigned)是不包含负数的,他不等价于我们所说的int我们再从内存的角度来看signed和unsigned的区分:我们举例char来讲signed和unsigned的区分char为一个字节,也就是8个比特位,当它是signed的时候,8个比原创 2023-07-14 09:00:06 · 223 阅读 · 15 评论 -
浮点数的存储
常见的浮点数:3.141591E10 -->1.0乘10的十次方浮点数家族包括: float、double、long double 类型。原创 2023-07-15 07:44:59 · 423 阅读 · 24 评论