随笔- 129
文章- 0
评论- 0
阅读-
42506
随笔分类 - C Note
工作学习中遇到的一些知识盲点,随手做的笔记
【数据结构】 ——浅谈位图以及位图原理
摘要:1.参考连接: https://blog.csdn.net/Vicky_Cr/article/details/105046550?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~d
阅读全文
union 共用体
摘要:1、union中可以定义多个成员,union的大小由最大的成员的大小决定。 2、union成员共享同一块大小的内存,一次只能使用其中的一个成员。 3、对某一个成员赋值,会覆盖其他成员的值(也不奇怪,因为他们共享一块内存。但前提是成员所占字节数相同, 当成员所占字节数不同时只会覆盖相应字节上的值,比如
阅读全文
为什么delete p;后最好加上p = NULL; ? (浅谈内存泄露和内存过度释放)
摘要:这么做的原因是防止内存泄漏;在释放内存后,要将相关指针置为NULL. 这样可以防止后续对该指针进行操作时出错;
阅读全文
嵌套宏的使用、以及宏中碰到的 # 运算符
摘要:1.使用#运算符。出现在宏定义中的#运算符把跟在其后的参数转换成一个字符串。有时把这种用法的#称为字符串化运算符 参考连接:https://zhuanlan.zhihu.com/p/344240420 1.1 明白什么是参数宏: 1.嵌套宏的一些展开规则: 1.一般的展开规律(没有遇到 # )和函数
阅读全文
什么情况下会使用枚举类型;
摘要:1.比如 制筛子,先定义一个枚举类型 enum, 再制筛子,如果 点数为1,去吃面 点数为2,去吃米 点数为3,去吃火锅 点数为4,去吃烧烤 点数为5,去吃麻辣烫 点数为6,去吃螺蛳粉 更多链接:https://baijiahao.baidu.com/s?id=1705390877648047096
阅读全文
什么是回调函数?
摘要:1.定义:回调函数是通过函数指针调用的函数。一般是以参数的形式传给调用的一方;在需要用到回调函数时,会通过函数指针调用回调函数。 如何正确理解回调函数:函数 F1 调用函数 F2 的时候,函数 F1 通过参数给 函数 F2 传递了另外一个函数 F3 的指针,在函数 F2 执行的过程中, 函数F2 调
阅读全文
什么是句柄?
摘要:1.Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动, 变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针; 2.参考百度百科:https://baike.baidu.com/item/%
阅读全文
__func__什么意思?
摘要:__func__是预置在编译器中的宏,并不包含于任何头文件,所以直接调用即可,不需要做任何其它操作。 __func__是一个字符串,值为调用__func__函数的函数名
阅读全文
指针数组和数组指针
摘要:指针数组: 如何理解:数组里面有很多指针; int *p[n]; 其中 p = a; 是不合法的; 只能 p[0] = a; p[1] = a; 也可以 *p = a; 这时候 a 存放在指针数组的第一个元素的位置,也就是 p[0]; p+1 代表下一个数组位置 也就是从 p[0] 到 p[1];
阅读全文
const char *p 和 char* const p
摘要:3.区分 const char *p 和 char* const p 的区别 对于 const char *p p是一个指针,指向const char 类型的; 例如: char str[] = "Hello world!"; char ss[] = "I'm good~"; const char
阅读全文
int main(int argc, char * argv[]);
摘要:int main(int argc, char * argv[]); 1.其中,argc 和 argv 是传入main 函数的参数总数 和 参数数组, argv 中以 - 开头的元素成为 选项元素, 除去 - 的剩余部分成为 选项字符, 选项元素 如果有参数,则成为选项参数;如下图所示:
阅读全文
Void指针
摘要:1. void 指针是一种特殊的指针,表示为“无类型指针”,在 ANSI C 中使用它来代替“char*”作为通用指针的类型。由于 void 指针没有特定的类型, 因此它可以指向任何类型的数据。也就是说,任何类型的指针都可以直接赋值给 void 指针,而无需进行其他相关的强制类型转换 void *p
阅读全文