C语言中,说明一个变量和定义一个变量有什么区别?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 09:10:56
C语言中,说明一个变量和定义一个变量有什么区别?
xTn@+Ԭ*EGuENժ6

C语言中,说明一个变量和定义一个变量有什么区别?
C语言中,说明一个变量和定义一个变量有什么区别?

C语言中,说明一个变量和定义一个变量有什么区别?
说明一个变量意味着向编译程序描述变量的类型,但并不为变量分配存储空间.定义一个变量意味着在说明变量的同时还要为变量分配存储空间.在定义一个变量的同时还可以对变量进行初始化.下例说明了一个变量和一个结构,定义了两个变量,其中一个定义带初始化:
extern int decll; / * this is a declaration * /
struct decl2 {
int member;
} ; / * this just declares the type--no variable mentioned * /
int def1 = 8; / * this is a definition * /
int def2; / * this is a definition * /
换句话说,说明一个变量相当于告诉编译程序“在程序的某个位置将用到一个变量,这里给出了它的名称和类型”,定义一个变量则相当于告诉编译程序“具有这个名称和这种类型的变量就在这里”.
一个变量可以被说明许多次,但只能被定义一次.因此,不应该在头文件中定义变量,因为一个头文件可能会被一个程序的许多源文件所包含.