"关于变量的声明和定义-C语言谭浩强第三版PPT课件"
在C语言中,变量的声明和定义是非常重要的概念,它们关系到程序中数据的存储和管理。声明变量告诉编译器变量的存在和类型,而定义则实际分配内存空间来存储变量的值。
首先,我们来区分声明(declaration)和定义(definition)。声明是告诉编译器有关变量的信息,例如它的名字、类型以及可能的初始值。定义则是为变量分配内存空间的行动,它通常伴随着声明一起发生。在C语言中,有些声明同时也是定义,而有些则只是单纯的声明。
1. 定义性声明(defining declaration):这是指同时声明和定义变量的情况。例如,`int a;` 这行代码不仅声明了一个名为a的整型变量,还为其分配了内存空间,所以它是定义。在这里,变量a可以在后续的代码中使用并存储值。
2. 引用性声明(referencing declaration):当使用`extern`关键字声明变量时,如`extern a;`,这告诉编译器变量a在其他地方已经定义过了,但不会在这里分配新的内存。这种声明不分配内存,只是告诉编译器在链接阶段寻找变量a的定义。
在C语言中,一个变量可以被声明多次,但只能被定义一次。定义是分配内存的唯一时刻,如果尝试再次定义同一个变量,编译器会报错。声明则可以用来在多个文件之间共享变量的定义,通过`extern`关键字可以在一个文件中声明,在另一个文件中定义。
了解这些概念对于理解和编写C程序至关重要,因为正确地声明和定义变量能够确保程序正确地访问和管理内存。在编程实践中,要注意合理地分配变量的声明和定义位置,以避免可能出现的未初始化变量、重复定义等问题。
C语言起源于1970年代,由Dennis M. Ritchie在B语言基础上发展而来,最初用于编写UNIX操作系统。随着时间推移,C语言逐渐标准化,如ANSI C(1983年)和ISO C(1990年及后续修订)。不同的C编译器可能会有细微的语法差异,因此程序员需要了解自己使用的编译器特性。谭浩强的C语言教材通常以ANSI C为基础进行讲解,帮助初学者掌握这门广泛使用的编程语言。