本书以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。   本书结构清晰,讲解透彻,是各高校相关专业C语言课程很好的教学参考书,也是各层次C程序员的优秀实践指南。 第1章 声明和初始化 30 基本类型 30 1.1 我该如何决定使用哪种整数类型? 30 1.2 为什么不精确定义标准类型的大小? 31 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都解决了,是吗? 31 1.4 新的64位机上的64位类型是什么样的? 32 指针声明 32 1.5 这样的声明有什么问题?char *p1, p2; 我在使用p2的时候报错了。 32 1.6 我想声明一个指针,并为它分配一些空间,但却不行。这样的代码有什么问题?char *p; *p=malloc(10); 33 声明风格 33 1.7 怎样声明和定义全局变量和函数**好? 33 1.8 如何在C中实现不透明(抽象)数据类型? 34 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 34 存储类型 35 1.10 同一个静态(static)函数或变量的所有声明都必须包含static存储类型吗? 35 1.11 extern在函数声明中是什么意思? 35 1.12 关键字auto到底有什么用途? 36 类型定义(typedef) 36 1.13 对于用户定义类型,typedef 和#define有什么区别? 36 1.14 我似乎不能成功定义一个链表。我试过typedef struct{char *item; NODEPTR next;}* NODEPTR; 但是编译器报了错误信息。难道在C语言中结构不能包含指向自己的指针吗? 36 1.15 如何定义一对相互引用的结构? 38 1.16 Struct{ } x1;和typedef struct{ } x2; 这两个声明有什么区别? 39 1.17 “typedef int(*funcptr)();”是什么意思? 39 const 限定词 39 1.18 我有这样一组声明:typedef char *charp; const charp p; 为什么是p而不是它指向的字符为const? 39 1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?const int n=5; int a[n]; 39 1.20 const char *p、char const *p和char *const p有什么区别? 39 复杂的声明 40 1.21 怎样建立和理解非常复杂的声明?例如定义一个包含N个指向返回指向字符的指针的函数的指针的数组? 40 1.22 如何声明返回指向同类型函数的指针的函数?我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此往复,以到无穷。 41 数组大小 42 1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组? 42 1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 42 声明问题 43 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 43 *1.26 main的正确定义是什么?void main正确吗? 44 1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。这是为什么? 44 1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是为什么? 44 1.29 为什么我的编译器不允许我定义大数组,如double array[256][256]? 44 命名空间 44 1.30 如何判断哪些标识符可以使用,哪些被保留了? 44 初始化 47 1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 47 1.32 下面的代码为什么不能编译? intf(){char a[]="Hello, world!";} 47 *1.33 下面的初始化有什
2021-08-09 21:38:41 133.91MB C语言 C 编程 开发
1
[代码大全(第2版)].(Code.Complete,2nd).Steve.McConnell.英文文字版.pdf
2021-08-04 20:59:15 9.76MB 代码 大全
1
Steve Fink 的随机工具集 这些是我认为可能对其他人有用的工具。 包括的工具: get-taskcluster-logs :通过抓取 taskcluster 从推送中检索日志文件组 json : JSON 文件的交互式导航 debug :在 emacs 中对各种类型的文件启动调试器 rr-exits :列出所有带有最差退出代码的 rr 录音 em :在相关行号上的补丁触及的文件上启动 emacs traverse.py : Gecko-specific,sorta。 用于遍历调用图的实用程序。 假发 : 贴得更紧 配置文件: 我还有一组 gdb 初始化文件,我在这里进行版本控制。 gdbstart.py : 加载以下所有 gdb 启动文件的 gdb init 文件(gdbinit.sfink 除外) gdbinit : 基本的 gdb 配置 gdbinit.py :
2021-07-23 18:03:37 179KB HTML
1
The 'unauthorized' Jobs biography that has earned the praise of those who knew him best (and fills in details not known before)
2021-07-15 22:56:02 2.42MB Apple
1
揭示苹果联合创始人和CEO的家庭生活与职业生涯,并回答了一个问题:为什么如此轻狂傲慢、以至于被赶出苹果的年轻人能成为史上最高效、最具有远见的商业领袖?
2021-06-22 06:28:43 3.74MB 乔布斯的事迹
1
比较基本的范畴论读物,适合自学。 This text and reference book on Category Theory, a branch of abstract algebra, is aimed not only at students of Mathematics, but also researchers and students of Computer Science, Logic, Linguistics, Cognitive Science, Philosophy, and any of the other fields that now make use of it.
2021-04-14 22:45:33 3.91MB 数学 范畴论 计算机科学 抽象代数
1
Analog Circuit Design for Communication SOC-Steve H.-L. Tu.pdf
2021-04-01 16:02:21 12.61MB 模拟
1
市面上有很多介绍C语言的书,但这是第一本将C语言以简洁而实用的方式介绍给读者的书籍。 用C语言进行编程不仅仅是在程序中使用正确的句法,编程的风格以及程序的调试在编写程序的过程中也占有相当大的篇幅,从而有助于程序的良好运行且易于维护。本书不仅仅向你介绍编程的机制,同时也告诉你如何创建易于阅读、调试和更改的程序。 本书也强调了实用的原则。例如在讨论C中运算优先级时,15种级别被归纳为下面两条原则: -先乘除,后加减; -在所有该加括号的地方都加上括号 第三版除介绍UNIX上的编程工具之外,还介绍了流行的Windows系统上集成开发环境 (Integrated Development Environments)。 第一部分 基础 11 第一章 什么是C 13 编程原理 14 C语言简史 17 C如何工作 17 如何学习C 19 第二章 编程基础 21 程序从概念到运行 21 编写一个真正的程序 22 使用命令行编译器编程 23 使用集成开发环境(IDE)编程 27 获取UNIX帮助 45 获取集成开发环境帮助 45 集成开发环境菜单 45 编程练习 48 第三章 风格 49 基础编码练习 54 编码盲从 56 缩进与编码格式 56 清晰 57 简明 58 小结 59 第四章 基本定义与表达式 60 程序要素 60 程序的基本结构 61 简单表达式 62 变量和存储 64 变量定义 65 整型 66 赋值语句 66 printf函数 68 浮点型 70 浮点数与整数的除法运算 70 字符 73 答案 74 编程练习 75 第五章 数组、修饰符与读取数字 76 数组 76 串 78 读取串 81 多维数组 84 读取数字 86 变量初始化 88 整型 90 浮点型 92 常量说明 93 十六进制与八进制常量 93 快捷运算符 94 副作用 95 ++x或x++ 96 更多的副作用问题 97 答案 98 编程练习 99 第六章 条件和控制语句 101 if语句 101 else语句 102 怎样避免误用strcmp函数 104 循环语句 104 While语句 105 break语句 107 continue语句 108 随处赋值的副作用 109 答案 111 编程练习 111 第七章 程序设计过程 113 设置 115 程序规范 116 代码设计 116 原型 118 Makefile 119 测试 123 调试 124 维护 126 修改 126 代码分析 127 注释程序 128 使用调试器 128 用文本编辑器浏览 128 增加注释 128 编程练习 131 第二部分 简单程序设计 133 第八章 更多的控制语句 135 for语句 135 switch语句 139 switch, break和continue 145 答案 145 编程练习 147 第九章 变量作用域和函数 149 作用域和类 149 函数 153 无参数的函数 157 结构化程序设计 158 递归 160 答案 161 编程练习 162 第十章 C预处理器 163 *define语句 163 条件编译 170 包含文件 173 带参数的宏 174 高级特征 176 小结 176 答案 177 编程练习 180 第十一章 位运算 181 位运算符 183 与运算符(&) 183 按位或(\) 186 按位异或(^) 187 非运算符(~) 187 左移与右移运算符(<>) 188 设置、清除和检测位 190 位图图形 194 答案 200 编程练习 201 第十二章 高级类型 202 结构 202 联合 205 typedef 207 枚举类型 209 强制类型转换 210 位字段或紧缩结构 210 结构数组 212 小结 213 编程练习 213 第十三章 简单指针 215 函数自变量指针 220 常量指针 222 指针和数组 224 如何不使用指针 229 用指针分隔字符串 231 指针和结构 235 命令行参数 236 编程练习 242 答案 242 第十四章 文件输入/输出 245 转换程序 249 二进制和ASCII码文件 252 行尾难题 253 二进制I/O 255 缓冲问题 257 非缓冲I/O 258 设计文件格式 264 答案 266 编程练习 267 第十五章 调试和优化 268 调试 268 交互调试器 280 调试一个二分查找程序 285 实时运行错误 297 公开
2020-01-16 03:05:17 20.09MB C语言 编程
1
source code for Computer Graphics: Programming in OpenGL for Visual Communication,Steve Cunningham,计算机图形学(Steve Cunningham)一书源代码
2020-01-04 03:14:57 1.34MB source code for Computer
1
Automatic Speech Recognition| ASR Lecture. About 18 lectures, plus a couple of extra lectures on basic introduction to neural networks. Lecturers: Steve Renals and Hiroshi Shimodaira.
2019-12-21 20:12:35 14.26MB asr 语音识别 ai kaldi
1