- 博客(0)
- 资源 (11)
空空如也
C 语言深度解剖
前 言 7
第一章关键字 9
1 1 最宽恒大量的关键字 auto 10
1 2 最快的关键字 register 10
1 2 1 皇帝身边的小太监 寄存器 10
1 2 2 使用register 修饰符的注意点 11
1 3 最名不符实的关键字 static 11
1 3 1 修饰变量 11
1 3 2 修饰函数 12
1 4 基本数据类型 short int long char float double 12
1 4 1 数据类型与“模子” 13
1 4 2 变量的命名规则 13
1 5 最冤枉的关键字 sizeof 17
1 5 1 常年被人误认为函数 17
1 5 2 sizeof(int) p 表示什么意思 17
1 6 signed unsigned 关键字 18
1 7 if else 组合 19
1 7 1 bool 变量与“零值”进行比较 19
1 7 2 float 变量与“零值”进行比较 19
1 7 3 指针变量与“零值”进行比较 20
1 7 4 else 到底与哪个if 配对呢 20
1 7 5 if 语句后面的分号 22
1 7 6 使用if 语句的其他注意事项 23
1 8 switch case 组合 23
1 8 1 不要拿青龙偃月刀去削苹果 23
1 8 2 case 关键字后面的值有什么要求吗 24
1 8 3 case 语句的排列顺序 24
1 8 4 使用case 语句的其他注意事项 25
1 9 do while for 关键字 26
1 9 1 break 与continue 的区别 27
1 9 2 循环语句的注意点 27
1 10 goto return关键字 28
1 10 1 goto关键字 28
1 10 2 return 关键字 29
1 11 void 关键字 29
1 11 1 void a 29
1 11 2 void 修饰函数返回值和参数 30
1 11 3 void 指针 31
1 11 4 void 不能代表一个真实的变量 32
1 12 const 关键字也许该被替换为readolny 32
4
1 12 1 const 修饰的只读变量 33
1 12 2 节省空间 避免不必要的内存分配 同时提高效率 33
1 12 3 修饰一般变量 33
1 12 4 修饰数组 34
1 12 5 修饰指针 34
1 12 6 修饰函数的参数 34
1 12 7 修饰函数的返回值 34
1 13 最易变的关键字 volatile 35
1 14 最会带帽子的关键字 extern 35
1 15 struct 关键字 36
1 15 1 空结构体多大 36
1 15 2 柔性数组 37
1 15 3 struct 与class 的区别 38
1 16 union 关键字 38
1 16 1 大小端模式对union 类型数据的影响 38
1 16 2 如何用程序确认当前系统的存储模式 39
1 17 enum 关键字 40
1 17 1 枚举类型的使用方法 40
1 17 2 枚举与#define 宏的区别 41
1 18 伟大的缝纫师 typedef 关键字 41
1 18 1 关于马甲的笑话 41
1 18 2 历史的误会 也许应该是typerename 42
1 18 3 typedef 与#define 的区别 42
1 18 4 #define a int[10]与typedef int a[10] 43
第二章 符号 45
2 1 注释符号 46
2 1 1 几个似非而是的注释问题 46
2 1 2 y x p 47
2 1 3 怎样才能写出出色的注释 47
2 2 接续符和转义符 48
2 3 单引号 双引号 49
2 4 逻辑运算符 49
2 5 位运算符 50
2 5 1 左移和右移 50
2 5 2 0x01<<2+3 的值为多少 50
2 6 花括号 51
2 7 ++ 操作符 51
2 7 1 ++i+++i+++i 52
2 7 2 贪心法 52
2 8 2 2 的值是多少 52
2 9 运算符的优先级 53
2 9 1 运算符的优先级表 53
5
2 9 2 一些容易出错的优先级问题 55
第三章 预处理 55
3 1 宏定义 57
3 1 1 数值宏常量 57
3 1 2 字符串宏常量 57
3 1 3 用define 宏定义注释符号 58
3 1 4 用define 宏定义表达式 58
3 1 5 宏定义中的空格 59
3 2 条件编译 59
3 3 文件包含 60
3 4 #error 预处理 60
3 5 #line 预处理 61
3 6 #pragma 预处理 61
3 6 1 #pragma message 61
3 6 2 #pragma code seg 62
3 6 3 #pragma once 62
3 6 4 #pragma hdrstop 62
3 6 5 #pragma resource 62
3 6 6 #pragma warning 62
3 6 7 #pragma comment 63
3 6 8 #pragma pack 63
3 7 #运算符 66
3 8 ##预算符 66
第四章 指针和数组 67
4 1 指针 67
4 1 1 指针的内存布局 67
4 1 2 ”与防盗门的钥匙 68
4 1 3 int p NULL 和 p NULL 有什么区别 68
4 1 4 如何将数值存储到指定的内存地址 69
4 1 5 编译器的bug 70
4 1 6 如何达到手中无剑 胸中也无剑的地步 71
4 2 数组 71
4 2 1 数组的内存布局 71
4 2 2 省政府和市政的区别 &a[0]和&a 的区别 72
4 2 3 数组名a 作为左值和右值的区别 72
4 3 指针与数组之间的恩恩怨怨 73
4 3 1 以指针的形式访问和以下标的形式访问 73
4 3 2 a 和&a 的区别 74
4 3 3 指针和数组的定义与声明 76
4 3 4 指针和数组的对比 78
4 4 指针数组和数组指针 78
4 4 1 指针数组和数组指针的内存布局 78
6
4 4 2 int [10] p2 也许应该这么定义数组指针 79
4 4 3 再论a 和&a 之间的区别 79
4 4 4 地址的强制转换 80
4 5 多维数组与多级指针 82
4 5 1 二维数组 82
4 5 2 二级指针 85
4 6 数组参数与指针参数 85
4 6 1 一维数组参数 86
4 6 2 一级指针参数 88
4 6 3 二维数组参数与二维指针参数 90
4 7 函数指针 90
4 7 1 函数指针的定义 90
4 7 2 函数指针的使用 91
4 7 3 void 0 这是什么 92
4 7 4 函数指针数组 93
4 7 5 函数指针数组的指针 94
第五章 内存管理 95
5 1 什么是野指针 95
5 2 栈 堆和静态区 95
5 3 常见的内存错误及对策 96
5 3 1 指针没有指向一块合法的内存 96
5 3 2 为指针分配的内存太小 97
5 3 3 内存分配成功 但并未初始化 98
5 3 4 内存越界 98
5 3 5 内存泄漏 99
5 3 6 内存已经被释放了 但是继续通过指针来使用 101
第六章 函数 102
6 1 函数的由来与好处 102
6 2 编码风格 102
6 3 函数设计的一般原则和技巧 107
6 4 函数递归 109
6 4 1 一个简单但易出错的递归例子 109
6 4 2 不使用任何变量编写strlen 函数 110
第七章 文件结构 112
7 1 文件内容的一般规则 112
7 2 文件名命名的规则 116 ">前 言 7
第一章关键字 9
1 1 最宽恒大量的关键字 auto 10
1 2 最快的关键字 register [更多]
2015-03-06
C语言基础知识
适合C语言入门者 讲的内容很基础
C 语言基础知识
C 语言简介
C 语言的特点 …
C 语言的发展和标准化 …
数据类型 运算 表达式和编译预处理
数据类型 …
基本类型与数据表示
整数类型和整数的表示 …
实数类型和实数的表示 …
字符类型和字符的表示 …
运算符 表达式与计算 …
算术运算符
算术表达式
表达式的求值 …
变量 概念 定义和使用 …
变量的定义 0
变量的使用:取值与赋值
预处理
文件包含命令 …
宏定义与宏替换 …
逻辑判断与运算 …
关系运算和逻辑运算
复杂条件的描述 0
i f 语句
循环控制
w h i l e 语句
f o r 语句 …
循环程序常用的若干机制
增量和减量运算符(+ + )
逗号运算符
控制结构和控制语句
d o w h i l e 循环结构 …
流程控制语句 …
g o t o 语句 …
开关语句 …
函数
概述 …
函数定义和程序的函数分解 …
函数定义 …
函数调用 …
数组
数组的概念 定义和使用
数组变量定义 …
数组的使用
数组的初始化 …
结构
结构(s t r u c t )
结构说明与变量定义
结构变量的初始化和使用
结构与函数
处理结构的函数 0
指针
指针的概念
指针操作 …
指针作为函数的参数
与指针有关的一些问题 …
指针与数组
指向数组元素的指针
基于指针运算的数组程序设计
数组参数与指针
字符指针与字符数组 0">适合C语言入门者 讲的内容很基础
C 语言基础知识
C 语言简介
C 语言的特点 … [更多]
2015-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人