![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
C语言编程相关
lzg2021
这个作者很懒,什么都没留下…
展开
-
关于volatile
1.volatile 维基百科volatile关键字用来阻止(伪)编译器认为的无法“被代码本身”改变的代码(变量/对象)进行优化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。在C语言中,编译器会根据你的代码进行优化,而volatile原创 2020-08-06 13:49:08 · 141 阅读 · 0 评论 -
数组参数退化为指针
C语言中的数组参数会退化为指针退化的意义当向函数传递数组时:将整个数组拷贝一份传入函数 X 将数据名看做常量指针传数组首元素地址 c语言以高效作为最初设计目标:(a) 参数传递的时候如果拷贝整个数组执行效率将大大下降。(b) 参数位于栈上,太大的数组拷贝将导致栈溢出。二维数组参数二维数组参数同样存在退化的问题二维数组可以看做是一维数组二维数组中的每个元素是一维数据。二维数组参数中第一维的参数可以省略void f(int a[5] ==> void原创 2020-05-17 17:35:56 · 441 阅读 · 0 评论 -
关于回调函数
一、什么是回调函数 回调函数,个人理解,就是把函数指针作为函数参数用于传参,这个函数指针指向的函数就叫做回调函数。二、为什么要使用回调函数 换句话说,使用回调函数有什么好处,个人理解,可以更灵活得处理同一类事件中的不同情况,但也有一些通用的地方。下面我们来举个例子说明: ...原创 2020-03-11 21:34:27 · 304 阅读 · 0 评论