第2个回答 2012-07-18
函数和变量都有声明和定义,
对变量而言:在同一个文件中声明和定义没区别;
在多个文件中才有区别(比如说在a.c文件中先定义了一个int num;我在b.c中要访问这个num,这时我们需要在b.c这个文件中声明一下);
变量定义:(1)分配空间
(2)只能定义一次
变量声明:(1)不分配空间
(2)可多次声明
注意:定义是一种特殊的声明.
变量初始化:在定义的同时赋值;(注意,定义之后,再去赋值不叫初始化)
第3个回答 推荐于2017-09-04
声明不分配地址空间,定义分配,直接代码举例:
#include <stdio.h>
extern int i ;
int main()
{
printf(" %d \n", i);
return 0;
}
编译
gcc -o example example.c 是无法通过的。
通过显式使用关键字extern, 表明是让编译器从其他地方查找变量i的定义。
而定义就是直接写:
int i; //OK ,没问题。
通常而言,定义也包括了声明,但声明不包括定义。
初始化,如果这个词用在这里,这个就简单了,就是赋个初值呗。
int i = 10; //初始化i的值为10.本回答被提问者采纳