随笔分类 - C/C++
摘要:将不够规定位数的数字左边用0补齐 printf("%04d\n", 1) 得到的结果是0001
阅读全文
摘要:1.问题 2.分析 经过一番查找,发现是编译器的自己解释的局限性所致,会产生误分析。 与之类似的常见现象,还有在使用switch时在case 后面申请变量会出现 error: a declaration cannot have a label 的提示。 从网上找到的答案如下: Case statem
阅读全文
摘要:为什么要内存对齐 硬件原因:有的CPU只支持访问对齐的地址; 性能原因:如果数据存放在未对齐的内存空间中,则CPU需要做两次内存访问,而对齐的内存访问只需要一次。 如何观察 示例代码 #include <stdint.h> #include <stdio.h> typedef struct _dat
阅读全文
摘要:有以下结构体定义 typedef struct { int bat; //电池电量百分比,如果设备无法提供,该值为-1。例如50,表示50% int vol; //电池电压,如果设备无法提供,该值为-1。例如,43表示4.3V int signal; //摄像头信号强度 char authstate
阅读全文
摘要:int sum1; //普通变量 const int sum2; //只读变量 int *ptr; //普通指针变量,指向普通变量 const int *ptr; //普通指针变量,指向只读变量 int * const ptr; //只读指针变量,指向普通变量 const int * const p
阅读全文