随笔分类 -  C/C++基础

摘要:1. #运算符 (1)#运算符用于在预处理期将宏的参数转换为字符串 (2)#的转换作用是在预处理期完成的,因此只在宏定义中有效,即其他地方不能用#运算符 (3)用法:#define STRING(x) #x printf("%s\n",STRING(Hello World!));//注意,Hello 阅读全文
posted @ 2016-09-24 15:16 CrazyDiode 阅读(893) 评论(0) 推荐(0)
摘要:1. #error 的用法 (1)#error 是一种预编译器指示字,用于生成一个编译错误消息 (2)用法:#error message //注意:message 不需要用双引号包围 (3)#error 编译指示字用于自定义程序员特有的编译错误消息。类似的,#warning 用于生成编译警告消息 ( 阅读全文
posted @ 2016-09-24 15:06 CrazyDiode 阅读(8229) 评论(0) 推荐(0)
摘要:C语言中的条件编译的行为类似于 C 语言中的 if…else…,是预编译指示命令,用于控制是否编译某段代码 。 1.条件编译的本质 (1)预编译器根据条件编译指令有选择的删除代码 (2)编译器不知道代码分支的存在 (3)if…else…语句在运行期进行分支判断 ,条件编译指令在预编译期进行分支判断 阅读全文
posted @ 2016-09-24 14:38 CrazyDiode 阅读(390) 评论(0) 推荐(0)
摘要:1. C 语言中的宏定义 (1)#define 是预处理器处理的单元实体之一(因此,预处理器只是简单的进行替换,并不(2)#define 定义的宏可以出现在程序的任意位置(包括函数体的内部)(3)#define 定义之后的代码都可以使用这个宏 2. 定义宏常量 (1)#define 定义的宏常量可以 阅读全文
posted @ 2016-09-24 14:30 CrazyDiode 阅读(839) 评论(0) 推荐(0)
摘要:1.C语言中的链接器 (1)每个 C 语言源文件被编译后生成目标文件,这些目标文件最终要被链接在一起生成可执行文件。 (2)链接器的主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确的衔接。 2.静态链接 由链接器在链接时将库的内容直接加入到可执行程序中 ①编译静态库源码:gcc 阅读全文
posted @ 2016-09-24 00:28 CrazyDiode 阅读(5291) 评论(0) 推荐(0)
摘要:逗号表达式:exp1,exp2,epx3,...,expN; (1)逗号表达式是 C 语言中的“粘贴剂” (2)逗号表达式用于将多个子表达式连接为一个表达式 (3)逗号表达式的值为最后一个子表达式的值 (4)逗号表达式中的前 N-1 个子表达式可以没有返回值 (5)逗号表达式按照从左向右的顺序计算每 阅读全文
posted @ 2016-09-23 09:16 CrazyDiode 阅读(816) 评论(0) 推荐(0)
摘要:(1)C 语言中单引号用来表示字符字面量(是个数值)被编译为对应的 ASCII 码 (2)C 语言中双引号用来表示字符串字面量(是个指针)被编译为对应的内存地址 例如:'a'表示字符字面量(97),在内存中占用 1 个字节,'a'+1 表示'a'的 ASCII 码加 1,即'b'。"a"表示字符串字 阅读全文
posted @ 2016-09-23 09:04 CrazyDiode 阅读(1442) 评论(0) 推荐(0)
摘要:1.C语言中的接续符 (1)编译器将反斜杠剔除,跟在反斜杠后面的字符自动接续到前一行 (2)在接续单词时,反斜杠之后不能有空格,反斜杠下一行之前也不能有空格 (3)接续符适合在宏定义代码块时使用 2.C语言中的转义符 C 语言中的转义符(\)主要用于表示无回显字符,也可用于表示常规字符。当反斜杠(\ 阅读全文
posted @ 2016-09-23 08:58 CrazyDiode 阅读(1378) 评论(0) 推荐(0)
摘要:1.enum关键字 C语言中enum关键字用来定义枚举类型 (1)enum 是 C 语言中的一种自定义类型(2)enum 值是可以根据需要自定义的的整型值(3)第一个定义的 enum 值默认为 0 (4)默认情况下的 enum 值是在前一个定义值的基础上加 1 (5)enum 类型的变量只能取定义时 阅读全文
posted @ 2016-09-22 23:05 CrazyDiode 阅读(2753) 评论(0) 推荐(0)
摘要:1.struct关键字 C 语言中的 struct 可以看作变量的集合struct中的每个数据成员都有独立的存储空间。 结构体与柔性数组 (1)柔性数组即数组大小待定的数组 (2)C 语言中可以由结构体产生柔性数组 (3)C 语言中结构体的最后一个元素可以是大小未知的数组 array 仅是一个待使用 阅读全文
posted @ 2016-09-22 09:26 CrazyDiode 阅读(2445) 评论(0) 推荐(0)
摘要:1.const关键字 (1)const 修饰的变量是只读的,它不是真正的常量,本质还是变量,只是告诉编译器不能出现在赋值号左边! (2)const 修饰的局部变量在栈上分配空间 (3)const 修饰的全局变量在全局数据区分配空间(vc、gcc 会将其放入常量区,bcc 放入全局数据区) (4) c 阅读全文
posted @ 2016-09-22 09:11 CrazyDiode 阅读(532) 评论(0) 推荐(0)
摘要:1.C语言中Void关键字的含义 void 修饰函数返回值和参数——为了表示“无”,如果函数没有返回值,那么应该将其声明为 void,同样的,如果函数没有参数,也应该声明其参数为 void 2.C语言中不存在 void 变量 C 语言没有定义 void 究意是多大内存的别名,没有 void 标尺,无 阅读全文
posted @ 2016-09-22 08:49 CrazyDiode 阅读(901) 评论(0) 推荐(0)
摘要:变量属性关键字的使用语法:property type var_name; 1.auto 关键字 auto关键字是C语言中局部变量的默认的关键字,C编译器默认所有的局部变量都是auto的,它表明了被修饰的关键字将被存储在栈空间上。 2.register 关键字 register关键字请求将被修饰的关键 阅读全文
posted @ 2016-09-21 09:01 CrazyDiode 阅读(1767) 评论(0) 推荐(0)