C语言入门:变量声明与定义详解

需积分: 0 2 下载量 141 浏览量 更新于2024-08-24 收藏 7.97MB PPT 举报
关于变量的声明和定义是C语言学习中的关键概念,尤其是在编程入门阶段。在C语言中,声明和定义有着明确的区别。声明(declaration)是告诉编译器关于变量的存在和类型,但并不创建实际的存储空间,例如"extern a;"这样的声明表示变量a已经在其他地方被定义,编译器知道它的存在,但不会为其分配内存。这种声明被称为引用性声明,因为它不包含变量的初始化或存储。 另一方面,定义(definition)则是为变量分配存储空间,并可能提供初始值,比如"int a;"。当我们在代码中首次声明并定义一个变量时,编译器会为该类型创建相应的内存空间,这被称为定义性声明。像"int a = 5;"这样的声明既是声明也是定义,因为它不仅告诉编译器a是一个整型变量,还给它赋了一个初始值。 在C语言的历史背景下,它起源于1970年的B语言,由美国贝尔实验室设计,主要用于UNIX操作系统。C语言是由D.M.Ritchie在B语言的基础上改进而来,他解决了B语言的不足,使之更适合编写高效且易维护的代码。随着1975年UNIX第6版的发布,C语言因其优点迅速获得关注。1977年的《可移植C语言编译程序》进一步推动了C语言的普及和发展,随后的经典著作《The C Programming Language》进一步确立了C语言的地位。 C语言标准随着时间不断演进,1983年的ANSI C标准引入了统一的规则,随后K&R根据ANSI进行了修订。1990年,ISO接受了87ANSI C作为国际标准,直到现在,C语言依然是世界上最广泛使用的编程语言之一,尽管不同编译系统的细节可能会有所差异,但本书的讲解主要基于ANSI C标准。 对于初学者来说,理解声明和定义的差别非常重要,因为错误地声明或定义变量可能会导致编译错误或未预期的行为。正确地运用声明和定义是编写高效、清晰代码的基础,特别是在大型项目中保持代码一致性至关关键。在实践中,确保熟悉所使用的编译器的特性和规范,能够帮助程序员避免潜在问题。