- 博客(6)
- 资源 (16)
- 收藏
- 关注
原创 C语言中结构体初始化并清零的方法有几种?
在编写程序时,如果使用静态分配的方式(例如定义一个全局变量或者局部变量),那么这个结构体在内存中的空间是在程序编译链接阶段就已经分配好了,并且会默认初始化为0。另外,在动态分配内存时(例如使用malloc()函数),由于malloc()函数所分配的内存块是没有被初始化过的,因此这个结构体在申请到内存后也需要通过memset()函数等手动将其清零。因此,当我们使用第一种或第三种方法来初始化结构体时,编译器实际上是将结构体变量的内存空间分配后,在分配的过程中进行了零初始化操作。这样会造成一定的性能开销。
2023-05-10 09:27:58 21282
原创 值传递和地址传递讲解
在学习C语言的时候,我们会在子程序参数传递这个地方碰到两个难以理解的概念:“值传递”和“地址传递”。这篇文章就是专门为解释清楚这个看似“老大难”的问题而来的。首先声明,以下内容大部分不是我写的,我仅在原作上做一些补充说明。在看下面的内容之前,你要清楚C语言中一个很基础的知识点:主调函数在调用被调函数时,会在堆栈空间(一般说“堆栈”其实指的仅仅是“栈”,“堆”和“栈”是两个不同的东西,这是要
2014-09-27 11:25:25 838
原创 STC89C52单片机定时器2详细整理
51单片机是我自学的第一款单片机,那时正好是过春节,想起那个寒假,外面下着大雪,有时还会传来一两声爆竹的炸响,而我一个人在房间里摆弄单片机开发板,反复调试程序的时光,真是难忘!我自认为单片机所有的资源中最不好搞清楚的就是定时器2,尤其是对于那些以前从来没有玩过单片机的新手。定时器2是新增资源,也是51单片机定时器里面功能最强大的一个定时器。所以掌握好定时器2还是非常有必要的。以下是在我完全搞明
2014-09-26 22:31:09 33581 4
CRC, MD5,HASH等校验工具集
2024-04-11
Github Linux源代码
2024-04-10
PCI Express® Card Electromechanical Specification Revision 3.0
2020-03-10
嵌入式系统编程(中文版)
2018-08-04
汇编语言编程艺术
2014-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人