1. 声明
用来说明标识符的含义,不分配存储空间。
比如:
extern int a;
void hello_fun();
struct a
{
int a;
char c;
}
2. 定义
不仅能说明标识符的含义,而且要分配存储空间。
比如:
int a;
void hello_fun()
{…}
struct a mya;
3. 变量定义的位置。
“C89的标准不允许在随便位置声明变量,只允许在块的开始处。C99和C++放松了限制,允许在随便位置声明变量,这个规定更合理。”
Java和C#中,定义的位置我记得也是随用随定义。
另外,看到一篇文章说,变量的定义,尤其是对象的定义,要尽量的推迟,直到不得不定义为止。变量定义的时候,要尽量初始化成有用的数值。说的都挺有道理的。