摘要: 典型问题一 下面的程序输出什么?为什么? 分析: snprintf()函数本身是可变参数函数,原型如下: 注意:当函数有3个参数时,如果第三个参数没有包含格式化信息,函数调用没有问题;相反,如果第三个参数包含了格式化信息,但缺少后续相应参数,则程序行为不确定。 典型问题二 下面的程序输出什么?为什么 阅读全文
posted @ 2018-06-22 14:16 烟云123 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 问题 数组名可以作为常量指针使用,那么指针是否也可当做数组名来使用呢? 数组的访问方式 + 以下标的形式访问数组中的元素 + 以指针的形式访问数组中的元素 下标形式VS指针形式 + 指针以固定增量在数组中移动时,效率高于下标形式 + 指针增量为1且硬件增量模型时,效率更高 + 下标形式与指针形式的转 阅读全文
posted @ 2018-06-22 14:14 烟云123 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 数组的概念 数组是相同类型的变量的有序集合 数组的大小 + 数组在一片连续的内存空间中存储元素 + 数组元素的个数可以显示或隐式指定 例子1:数组的初始化 数组地址与数组名 + 数组名代表数组首元素的地址 + 数组的地址需要用取地址符&才能得到 + 数组首元素的地址值与数组的地址值相同 + 数组首元 阅读全文
posted @ 2018-06-22 14:13 烟云123 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 数组的本质 + 数组是一段连续的内存空间 + 数组的空间大小为sizeof(array_type) array_size + 数组名可以看做指向第一个元素的常量指针 指针的运算 指针是一种特殊的变量,与整数的运算规则为 p+n; (unsigned int)p + n sizeof( p); 结论 阅读全文
posted @ 2018-06-22 14:13 烟云123 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 变量回顾 + 程序中的变量只是一段存储空间的别名,那么是不是必须通过这个别名才能使用这段存储空间? 思考 下面的程序输出什么?为什么 号的作用 + 在指针声明时, 号表示所声明的变量为指针 + 在指针使用时, 号表示取指针所指向的内存空间中的值 例子1:指针使用分析 传值调用和传址调用 + 指针是变 阅读全文
posted @ 2018-06-22 14:12 烟云123 阅读(141) 评论(0) 推荐(0) 编辑
摘要: \ 运算符 + \ 运算符用于在预处理期将宏参数转换为字符串 + \ 的转换作用是在预处理期完成的,因此只在宏定义中有效 + 编译器不知道 的转换作用 例子1: 运算符的基本用法 例子2:运算符的妙用 \ \ 运算符 + \ 运算符用于在预处理期粘连两个标识符 + \ 的连接作用是在预处理期完成的, 阅读全文
posted @ 2018-06-22 14:11 烟云123 阅读(363) 评论(0) 推荐(0) 编辑
摘要: \ pragma简介 + \ pragma用于指示编译器完成一些特定的动作 + \ pragma所定义的很多指示字是编译器特有的 + \ pragma在不同的编译器间是不可移植的 + 预处理器将忽略它不认识的\ pragma指令 + 不同的编译器可能以不同的方式解释同一条\ pragma指令 + 一 阅读全文
posted @ 2018-06-22 14:10 烟云123 阅读(754) 评论(0) 推荐(0) 编辑
摘要: \ error的用法 + \ error用于生成一个编译错误消息 + 用法:error message(不需要用双引号包围) + \ error编译指示字用于自定义程序员特有的编译错误,消息类似的 + \ warning用于生成编译警告 + \ error是一种预编译器指示字 + \ error可用 阅读全文
posted @ 2018-06-22 14:07 烟云123 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 基本概念 + 条件编译的行为类似于C语言中的if...else... + 条件编译是预编译指示命令,用于控制是否编译某段代码 条件编译的本质 + 预编译器根据条件编译指令有选择的删除代码 + 编译器不知道代码分支的存在 + if...else...语句在运行期进行分支判断 + 条件编译指令在预编译期 阅读全文
posted @ 2018-06-22 14:06 烟云123 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: C语言中的宏定义 + \ define是预处理器处理的单元实体之一 + \ define定义的宏可以出现在程序的任意位置 + \ define定义之后的代码都可以使用这个宏 定义宏常量 + \ define定义的宏常量可以直接使用 + \ define定义的宏常量本质为字面量 下面这些宏常量定义正确 阅读全文
posted @ 2018-06-22 14:03 烟云123 阅读(1075) 评论(0) 推荐(0) 编辑