#else可以用于#ifdef和#ifndef中,但#elif不可以。 //例 #define DEBUG //此时#ifdef DEBUG为真 //#define DEBUG //此时为假 int main() { #ifdef DEBUG printf("Debugging "); #else printf("Not debugging "); #endif printf("Running "); return 0; } //输出结果是: Debugging Running //例 #d...
如果函数没有返回值,那么应该将其声明为void型。 如果函数没有参数,应该声明其参数为void。 void修饰函数返回值和参数仅为了表示无。 C语言没有定义void究竟是多大内存的别名。 void指针的意义 C语言规定只有相同类型的指针才可以相互赋值。 void*指针作为左值用于“接收”任意类型的指针。 void*指针作为右值赋值给其...
#ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 一、文件包含 #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件...
见http://gcc.gnu.org/onlinedocs/cpp/If.html#If 该引用是准确的,但以“标准格式”编写:抽象地没有示例。 编写代码的另一种方法是使用链式#elif指令: #ifchoice == 3 ... #elifchoice == 4 ... #else#errorUnsupported choice setting #endif 请注意,如果choice不是#defined,则预处理器会将其视为值...
条件编译:#if,#ifdef,#ifndef,#elif,#else和#endif指令可以根据编译器可以测试的条件来将一段文本包含到程序中或排除在程序之外。 1. 2. 3. 剩下的#error,#line和#pragma指令更特殊的指令,较少用到。 2.2.指令规则 指令都是以#开始。#符号不需要在一行的行首,只要她之前有空白字符就行。在#后是指令名,...
#if和#elif指令 #error #line #pragma 基本数据类型和表达式 基本数据类型 输出数据大小 整形 无符号和有符号 进制转换 实型 讲解浮点数的构造 字符型 wchar_t宽字符 转义字符 布尔型 其他简单数据类型 可移植类型:stdint.h和inttypes.h 运算符与表达式 ...
这种⽅法下只需要定义了_WIN32就可以,没有必要为真,也就是说 如果有宏定义#define _WIN32 0 上⾯#ifdef语句也是可以执⾏的,甚⾄#define _WIN32 上⾯的#ifdef也可以运⾏ 当然也可以加⼊第⼀种⽅法中的#elif语句 #ifdef(_WIN32)printf("Windows下执⾏的代码\n");#elif (__linux__)...
注:可以没有括号。 结合#else/#elif指令使用 #ifdef/#ifndef可与#else/#elif结合使用,如下: #inlucde <stdio.h> #define T 10 int main(void) { #ifdef t printf(“Hi T\n”); #else printf(“Hi anyone\n”); #endif #ifndef M printf(“M Not Defined\n”); ...
elif Misplaced else 此处不应出现else Misplaced else directive 此处不应出现编译预处理 else Misplaced endif directive 此处不应出现编译预处理 endif Must be addressable 必须是可以编址的 Must take address of memory location 必须存储定位的地址 No declaration for function ’xxx’ 没有函数xxx的说明 No stac...