C语言常见问题与解答2005版

需积分: 9 3 下载量 194 浏览量 更新于2024-12-25 收藏 1.34MB PDF 举报
"这篇文档是2005年的C语言常见问题集锦,由Steve Summit原著,朱群英和孙云翻译。它包含了C语言学习过程中可能会遇到的基础问题和常见错误,旨在帮助读者理解和解决编程中碰到的问题。文档强调了个人使用时的自由性,但禁止未经授权的出版发行。此外,提供了在线HTML和PDF版本的访问地址,以及英文原文和中文译稿的联系人信息。" 在内容方面,文档涵盖了多个关键知识点: 1. **声明和初始化**: - **1.1 如何选择整数类型**:在C语言中,整数类型包括`char`, `short`, `int`, `long`和`long long`。选择哪种类型取决于你需要存储的数值范围和平台的架构。通常,`int`是默认的整数类型,但不一定是32位或64位。在64位系统上,`int`可能仍然是32位,而`long`可能是64位。 - **1.2 64位机上的64位类型**:在64位系统上,`long`和`long long`通常会是64位,但不是所有平台都一致,因此应谨慎使用,确保了解所用平台的具体规定。 - **1.3 全局变量和函数的最佳定义和声明**:全局变量在整个程序中可见,应谨慎使用以避免命名冲突和内存管理问题。函数最好先声明,后定义,以便在需要的地方使用,同时保持代码的模块化。 - **1.4 extern在函数声明中的作用**:`extern`关键字用于声明一个已经在其他地方定义的变量或函数,告知编译器这个符号存在,但其定义在别处。 - **1.5 关键字auto的作用**:在C语言中,`auto`是局部变量的默认存储类,它指示变量的生命周期仅限于当前函数或复合语句。在现代C++中,`auto`关键字用于推断变量类型,但在C语言中它的实际作用并不常用。 - **1.6 链表的定义和使用**:链表是一种动态数据结构,涉及指针操作。如果在定义链表时遇到问题,可能涉及到内存分配、节点结构的定义以及指针的正确使用。 这篇文档是C语言初学者和有一定经验的程序员的宝贵资源,通过解答这些问题,可以帮助读者加深对C语言基本概念的理解,提高编程能力,并避免常见的编程陷阱。