什么是定义?什么是声明?它们有何区别?
例子:
(A)int i ;
(B)extern int i
哪个是定义?哪个是声明?或者都是定义或者都是声明?
定义具有实体。
声明只需要说一下即可。
A是定义,B一般是另一个源文件里已经定义,在此使用必须进行声明;二者的作用域不一样,A的作用域只在定义的源文件里起作用,B的作用域是整个程序。
A是定义的话,是不是需要赋值??
要是没赋值,那么 这个变量也就不会在内存中分配空间了吧!!
我也再举个例子吧。
void init(void);//声明
extern void task();//外部声明
void main()
{
init();
while(1)task();
}
void init() //定义
<代码>