![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
进阶C
文章平均质量分 82
不会背雨霖铃
— —
一名热爱编程程序猿,当然,什么学习上的问题可以私聊我, 一起进步。
展开
-
动态内存管理
用户调用free可以释放结构体,但是用户并不知道这个结构体内的成员也需要free,所以你不能指望用户来发现这个事情,所以,如果我们把结构体的内存以及其成员要的内存一次性分配好了,并返回给用户一个结构体指针,用户做一次free就可以把所有的内存也给释放掉。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了,这时就需要动态内存函数开辟空间了,动态内存函数有 malloc , free , realloc, calloc,这些函数都存放在堆区。原创 2023-08-10 17:42:15 · 147 阅读 · 0 评论 -
一篇文章带你走进结构体,枚举,联合
这一篇讲解了结构体,位段,枚举,联合的使用,这些知识在编程中应用比较广泛的一类,虽然不是太难,但是有很多陷阱,比如结构体的内存对齐,位段的内存分配,联合大小的计算等等。但这些只要细心,在以后的编程路上也都不是难事。好了,先来一张美图直接开始。int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋值struct Stu //声明类型int age;//初始化int date;//结构体嵌套初始化。原创 2023-02-20 15:17:05 · 519 阅读 · 2 评论 -
详细分析各种指针(烧脑专用)
在这篇文章中,你将收获各种指针的使用,例如指针传参,函数指针,函数指针数组等等,这些会加深你对指针的了解,不过对于初学者来说,这篇确实有些烧脑了。先来一张美图,开启燃烧你的cpu吧。原创 2023-02-01 21:46:54 · 480 阅读 · 2 评论 -
C语言排序:冒泡排序 , qsort函数
前言这篇文章中你能学习到冒泡排序的思想,以及它的实现方式。了解到qsort()函数的使用,以及怎么用冒泡排序的实现模拟实现qsort()函数。这篇文章需要掌握一定的指针知识,如果有不够熟悉指针的朋友可以看看我往期指针的文章,有助于加深理解。原创 2023-02-11 19:54:07 · 184 阅读 · 0 评论 -
7道题,讲透整形在内存中存储的原理
这一篇练习题继承了上一篇内容的核心,算是上一篇的实战,并且这几道练习题更能加深你对数据在内存中存储的理解。好了,话不多说,先来一张美图直接开始!原创 2023-01-11 21:42:52 · 276 阅读 · 1 评论 -
深入解剖数据在内存中的存储
这篇我们讲数据在计算机内部是怎么存储的,数据在计算机内部是怎么计算的,掌握了这些,会进一步增加我们对计算机的理解,在编程中,有些计算数据的错误,很可能和数据在内存中的存储有关。好了,话不多说,来一张美图直接开始!C语言中有很多数据类型:例如:int(integer的简写)型变量可以存储整数,如1,23,456等;float(floating-point的简写)型变量可以存储带有小数点的数,如:3.14,6.18等。原创 2023-01-09 21:29:32 · 187 阅读 · 5 评论 -
原码,反码,补码以及大小端字节序
什么大端小端:大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地 址中。为什么有大端和小端?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元 都对应着一个字节,一个字节为8 bit。...原创 2022-08-09 18:05:25 · 1286 阅读 · 0 评论 -
getchar清理缓冲区
要想解决这个问题,就得清除缓存区了。下图又加上了清楚缓存区的代码,运行结果就正常了.看看下面的例子就知道了。为什么要清理缓冲区呢?原创 2022-08-23 20:04:42 · 1062 阅读 · 0 评论