1 定义时系统会为定义的变量分配空间,而声明时,不会分配空间。这个是本质上的区别。
2 定义在程序中只能出现一次,而声明可以多次。假如在程序的不同位置对变量进行了定义,那么编译器会认为第二个是声明而不是定义。
3 变量初始化:就是给变量赋值。定义也是声明,extern声明不是定义。 如 extern int x ,是可以的,但是 extern int x = 1;编译就会报错。因为声明是没有分配空间的。声明也就不能初始化。
1 定义时系统会为定义的变量分配空间,而声明时,不会分配空间。这个是本质上的区别。
2 定义在程序中只能出现一次,而声明可以多次。假如在程序的不同位置对变量进行了定义,那么编译器会认为第二个是声明而不是定义。
3 变量初始化:就是给变量赋值。定义也是声明,extern声明不是定义。 如 extern int x ,是可以的,但是 extern int x = 1;编译就会报错。因为声明是没有分配空间的。声明也就不能初始化。