所谓的定义是指编译器创建了一个对象并为这个对象开辟一块内存,是从无到有的过程,而声明只是告诉编译器有这个东西存在了,这个变量名或者函数名已经被预定了,
举个例子 :
1.void test(int a)
{
.............
................
}
2. void test(int);
第一个函数就是定义 而第二个就是声明 且是声明已经定义的变量或者函数名 声明是为了让编译器知道有这个东西知道,以免报错说找不到!
要注意的是,定义只能一次,并开辟相应内存,而声明可以多次,并且不占内存,只是告诉编译器有这个东西存在而已,既然是告诉编译器一个已存在的东西 , 为何还要开辟内存呢。