typedef是一种特殊的声明方式,不过它与普通声明的含义大不相同。普通声明的主角是“变量”,它或是创建一个新变量或是对外文件变量使用前的声明;而typedef声明的主角则是“类型”,通过这个声明 ...
在C语言中有条件编译指令,常见的有: define 定义宏 undef 取消已定义的宏 if 如果给定条件为真,则编译下面代码 ifdef 如果宏已经定义,则编译下面代码 ifndef 如果宏没有定义,则编译下面代码 elif 如果前面的 if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写 endif 结束一个 if else条件编译块 error 停止编译并显示错误 ...
2017-09-13 11:32 0 1880 推荐指数:
typedef是一种特殊的声明方式,不过它与普通声明的含义大不相同。普通声明的主角是“变量”,它或是创建一个新变量或是对外文件变量使用前的声明;而typedef声明的主角则是“类型”,通过这个声明 ...
#是在宏定义中将参数进行字符串化的预处理特征,例如: #include <iostream> using namespace std; #define P(EXP) cout&l ...
'\0'表示ASCII编号为0的字符,在C语言中最常用于代表字符串结束的标志。'\n'表示ASCII编号为13的字符,代表回车键,输出这个字符就会换一行。 '\0'作为字符串的结束标志,本身会占用一个字符。所以要存一个最长5个字节的字符串,至少要有6个字节来存放,即char str[6]。 ...
之前对*和&符号一直理解的比较浅显。只知道: *p好像表示的是一个指针; &p表示的是一个地址。 然而这次当遇到了下面这个情况的时候: int a = 10; int *b = &am ...
这个问题是老生常谈的问题了,虽然诸多大牛都深恶痛绝的告诉所有人不要那样写,但这永远挡不住学校的老师和考试。 今天我们来辨析一下这个东西。 首先我们来名词辨析一下吧: ++i 这个叫 前自增 ...
今天探讨const,首先来说是将变量常量化。为什么要将变量常量化,原因有诸多好处有诸多。比如可以使数据更加安全不会被修改! 但是这个词有几个点要注意,那就是他究竟修饰了谁? 1.const int ...
在学习STM32的过程中遇到了许多定义的结构体,这就有必要了解一下"."与"->"的区别。 其实简单来说可以理解为: (*a).b 等价于 a->b。 "."一般情况下读作"的”,结 ...
使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 运行结果: ...