- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 动态内存管理 malloc calloc realloc free这四个函数的使用
calloc和malloc非常像,不同的是它是给开辟的内存赋初值0的,你要开辟100个字节的空间怎么开辟呢?realloc在开辟内存的时候,会遇到内存堆区的使用原则的问题,比如指针指向的内存后面还有空间没有被使用,就直接在后面追加。realloc的话,就是拓展用realloc和malloc开辟的空间,所以它是要你传指针的,这个指针就是realloc和malloc返回的指针。还有的一种情况是,指针指向的内存后面的空间被使用了,它就找一块足够大的空间开开辟给你用。其余的就都和malloc一样了。
2023-10-08 12:15:17 81 1
原创 什么是位段,位段与结构体的关系
在vs2020的环境下,是先开辟一个char的空间,从高地址开始用,a用了3bit,b用4bit,剩下1bit,c需要5bit,不够,直接不要剩下的1bit,再开辟一个char的空间。4. 当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是 舍弃剩余的位还是利用,这是不确定的。总结: 跟结构相比,位段可以达到同样的效果,但是可以很好的节省空间,但是有跨平台的问题存在。众所周知,结构体有内存对齐,位段也有自己的开辟内存的规则,但是在不同环境下,规则是不同的。
2023-10-05 22:59:24 91
原创 VS2020编译器的漏洞
但是在使用VS2020时,有些函数不包含头文件也能编译成功,在调用监视看一些数据时也没有问题。可怕的是,运行结果和正确包含头文件时的结果完完全全相反。大家都知道使用库函数需要包含头文件。这个图是包含了头文件的。
2023-10-03 11:33:20 99
空空如也
三极管Ic的电流不是Ib控制的吗
2023-09-02
单片机培训有什么推荐的吗
2023-05-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人