- 博客(4)
- 收藏
- 关注
转载 预处理命令
在接触#if、#undef这类预处理指令前,大部分都都接触过#define、#include等预处理命令,通俗来讲预处理命令的作用就是在编译和链接之前,对源文件进行一些文本方面的操作,比如文本替换、文件包含、删除部分代码等,这个过程叫做预处理(这里说下题外话#define叫宏定义,但是在笔者的认识里对声明和定义的理解是:声明不分配内存,定义才分配内存,所以#define虽然名字里面有“定义”两个字,但并不占存储空间(为什么不叫宏声明···)
2023-01-29 17:25:32 1303
原创 使用子函数进行两个变量交换遇到的问题
因为子函数和父函数在内存中占用着不同的空间,本来就互不影响,所以第一个代码在没有返回值的情况下不会对父函数产生影响,但是第二个代码中子函数的两个参数是指向父函数中a、b的指针,那么这就直接跟父函数建立了一座桥梁,当我对这两指针取*操作时那操作的就直接是父函数中a、b的值,子函数完成后即使释放掉,那释放的也是存储了a、b地址的变量,a、b变量内的值已经修改。根据上图代码进行编译和执行时发现a和b并没有进行交换,这是为什么?那么如何才能用封装函数的方法实现a和b中值得交换?答案是用指针,如下图代码所示。
2022-11-14 00:53:34 296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人