nullptr是c++11中的关键字,表示空指针 要区分nullptr和NULL,首先要明白NULL的含义: NULL是一个宏定义,在c和c++中的定义不同,c中NULL为(void )0,而c++中NULL为整数0 所以在c++中int p=NULL; 实际表示将指针P的值赋为0,而c++中当一个 ...
分类:
编程语言 时间:
2020-05-17 12:55:14
阅读次数:
97
C++中, 经常会使用, 某些类型的最大值, 如int的最大整数(INT_MAX), C的函数中, 包含了这些宏定义. 头文件: 具体参见: |name | expresses |value | |: |: |: :| |CHAR_BIT | Number of bits in a?char?obj ...
分类:
编程语言 时间:
2020-05-12 09:30:12
阅读次数:
81
我们大部分程序员可能都是从C语言学起的,写过几万行、几十万行、甚至上百万行的代码,但是大家是否都清楚C语言编译的完整过程呢,如果不清楚的话,我今天就带着大家一起来做个解密吧。 C语言相对于汇编语言是一种高级语言,要想在系统上运行,需要通过编译器把它转换成机器能够读懂的可执行的代码。 以Linux系统 ...
分类:
编程语言 时间:
2020-05-10 14:54:49
阅读次数:
104
/* This file contains definitions used by the Hex-Rays decompiler output. It has type definitions and convenience macros to make the output more reada ...
分类:
其他好文 时间:
2020-05-08 16:13:24
阅读次数:
107
记录一下笔者遇到过的预处理和宏定义相关的内容。这里的总结主要来自于笔者阅读 CS106L 课程材料, C++ Primer 的内容以及官方文档。 (CS106L 是 Stanford 开设的一门关于 C++ 的课程,课程网址 CS106L.课程网站提供一份关于 C++ 编程的阅读材料( course ...
分类:
编程语言 时间:
2020-04-30 21:06:44
阅读次数:
80
题目内容来自网络 答案个人总结,仅供参考 1、A 经典的strcpy的函数实现原理,众所周知,不多说 2、C;X2[2][2]=0x38 如果在定义数组时就对全部元素赋初值,即完全初始化,则第一维的长度可以不指定,但第二维的长度不能省。 3、宏定义 ((*(u32 *) (addr))= (valu ...
分类:
其他好文 时间:
2020-04-29 18:41:29
阅读次数:
43
宏定义在C类语言中非常重要,因为宏是一种预编译时的功能,因此其可以比运行时更高层面的对程序流程进行控制。在初学宏定义的时候,大家可能都会有这样一种感觉:就是完全替换么,太简单了。但如果你真这么想,那你就太天真了,不说自己编写宏,在Foundation框架中内置定义的许多宏要看明白也要费一番脑筋。本篇 ...
分类:
移动开发 时间:
2020-04-28 14:57:44
阅读次数:
56
1 #include"reg52.h"//单片机头文件 2 #define uchar unsigned char//宏定义,用uchar表示unsigned char,叫无符号字符型数据类型,取值范围为:0到255。 3 #define uint unsigned int//宏定义,用uint表示 ...
分类:
其他好文 时间:
2020-04-25 17:11:52
阅读次数:
105
1 #include<reg52.h>//单片机头文件 2 #define uchar unsigned char//宏定义,用uchar表示unsigned char,叫无符号字符型数据类型,取值范围为:0到255。 3 #define uint unsigned int//宏定义,用uint表示 ...
分类:
其他好文 时间:
2020-04-25 10:30:16
阅读次数:
72
有时复杂宏定义替换后感觉有点奇怪,有时想看看#define宏定义替换后的怎样, 调试程序只能看到汇编,并不能找到宏替换中的错误,这时可以在KEIL中打开生成预编译文件 在设置菜单Listing选项中选中C Preprocessor Listing(选中编译速度会变化,不需要调试宏定义建议关闭) 重新 ...
分类:
其他好文 时间:
2020-04-22 14:52:08
阅读次数:
114