浅墨浓香

想要天亮进城,就得天黑赶路。

导航

随笔分类 -  C语言进阶剖析

该文被密码保护。

posted @ 2016-04-01 23:32 浅墨浓香 阅读(107) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-31 17:56 浅墨浓香 阅读(174) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-29 21:58 浅墨浓香 阅读(121) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-29 20:20 浅墨浓香 阅读(121) 评论(2) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-29 13:50 浅墨浓香 阅读(141) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-29 12:25 浅墨浓香 阅读(93) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-28 13:20 浅墨浓香 阅读(96) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-03-27 17:13 浅墨浓香 阅读(119) 评论(0) 推荐(0) 编辑

摘要:1. 链接器的意义 (1)每个C语言源文件被编译后生成目标文件,这些目标文件最终要被链接在一起生成可执行文件。 (2)链接器的主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确的衔接。 2. 静态链接 (1)由链接器在链接时将库的内容直接加入到可执行程序中 (2)Linux下静态 阅读全文

posted @ 2016-03-27 13:36 浅墨浓香 阅读(723) 评论(5) 推荐(0) 编辑

摘要:1. 初始编译器 广义的编译器 你可能不知道的事… 2. 预编译:指令示例——gcc –E file.c –o file.i (1)处理所有的注释,以空格代替 (2)将所有的#define删除,并且展开所有的宏定义 (3)处理条件编译指令#if、#ifdef、#elif、#else、#endif ( 阅读全文

posted @ 2016-03-27 12:37 浅墨浓香 阅读(467) 评论(0) 推荐(0) 编辑

摘要:1. 三目运算符 (1)三目运算符(a?b:c)可以作为逻辑运算的载体 (2)规则:当a的值为真时,返回变量b的值(而不是变量本身);否则返回c的值。 【实例分析】三目运算符初探 (3)三目运算符(a?b:c)的返回类型 ①通过隐式类型转换规则返回b或c中较高的类型 ②当b和c不能隐式转换到同一类型 阅读全文

posted @ 2016-03-26 23:42 浅墨浓香 阅读(425) 评论(0) 推荐(0) 编辑

摘要:1. ++和—操作符对应的两条汇编指令 (1)前置++或--:变量自增(减)1,然后取变量值 (2)后置++或--:取变量值,然后变量自增(减)1 【实例分析】一对令人头疼的兄弟 2. C标准对++和—运算符的规定 (1)C语言中只规定了++和—对应指令的相对执行次序(即两条汇编指令的前后顺序是有规 阅读全文

posted @ 2016-03-26 22:32 浅墨浓香 阅读(603) 评论(0) 推荐(0) 编辑

摘要:1. C语言中的位运算符——直接对bit位进行操作,效率最高 & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 2. 左移和右移注意点 (1)左操作数必须为整型类型:char和short被隐式转换为int后 阅读全文

posted @ 2016-03-26 20:34 浅墨浓香 阅读(360) 评论(0) 推荐(0) 编辑

摘要:1. 有趣问题:逻辑运算符&&,||和!真的很简单吗? 【实例分析】初探逻辑运算符 2. 程序中的短路 (1)||从左向右开始计算 ①当遇到为真的条件时停止运算,整个表达式为真 ②所有条件为假时表达式才为假 (2)&&从左向右开始计算 ①当遇到为假的条件时停止运算,整个表达式为假 ②所有条件为真时表 阅读全文

posted @ 2016-03-26 19:06 浅墨浓香 阅读(381) 评论(0) 推荐(0) 编辑

摘要:1. 单引号和双引号 (1)C语言中单引号用来表示字符字面量(是个数值) (2)C语言中双引号用来表示字符串字面量(是个指针) ①'a'表示字符字面量(97),在内存中占用1个字节,'a'+1表示'a'的ASCII码加1,即'b' ②"a"表示字符串字面量(是个指针),在内存中占2个字了,"a"+1 阅读全文

posted @ 2016-03-26 17:49 浅墨浓香 阅读(690) 评论(0) 推荐(0) 编辑

摘要:1. 接续符的意义:C语言中的接续符(\)是指示编译器行为的利器 【实例分析】初探接续符 2. 接续符的使用 (1)编译器将反斜杠剔除,跟在反斜杠后面的字符自动接续到前一行 (2)在接续单词时,反斜杠之后不能有空格,反斜杠下一行之前也不能有空格 (3)接续符适合在宏定义代码块时使用 【编程实验】接续 阅读全文

posted @ 2016-03-25 23:28 浅墨浓香 阅读(435) 评论(0) 推荐(0) 编辑

摘要:1. 似是而非的问题 (1)下面的注释是正确的吗? 【实例分析】初探注释规则 2. 注释规则 (1)编译器在编译过程中使用空格替换整个注释 (2)字符串字面量中的//和/*…*/不代表注释符号 (3)/*…*/型注释不能被嵌套 3. 有趣的问题 (1)你觉得 y=x/*p是什么意思? 作者本意:把x 阅读全文

posted @ 2016-03-25 22:34 浅墨浓香 阅读(458) 评论(0) 推荐(1) 编辑

摘要:1. enum枚举类型 1.1 使用方法 (1)enum是C语言中的一种自定义类型 (2)enum值是可以根据需要自定义的的整型值 (3)第一个定义的enum值默认为0。 (4)默认情况下的enum值是在前一个定义值的基础上加1 (5)enum类型的变量只能取定义时的离散值 1.2 枚举类型的特殊意 阅读全文

posted @ 2016-03-25 19:47 浅墨浓香 阅读(472) 评论(0) 推荐(0) 编辑

摘要:1. struct的小秘密 (1)C语言中的struct可以看作变量的集合 (2)struct的问题——空结构体占用多的内存? 【实例分析】空结构体的大小 2. 结构体与柔性数组 (1)柔性数组即数组大小待定的数组 (2)C语言中可以由结构体产生柔性数组 (3)C语言中结构体的最后一个元素可以是大小 阅读全文

posted @ 2016-03-25 13:51 浅墨浓香 阅读(482) 评论(0) 推荐(0) 编辑

摘要:1. const只读变量——(注意不是真正常量,只是告诉编译器不能出现在赋值号左边!) (1)const修饰的变量是只读的,本质还是变量 (2)const修饰的局部变量在栈上分配空间 (3)const修饰的全局变量在全局数据区分配空间(vc、gcc会将其放入常量区,bcc放入全局数据区) (4)co 阅读全文

posted @ 2016-03-25 13:08 浅墨浓香 阅读(440) 评论(0) 推荐(0) 编辑