“声明”向计算机介绍名字,他说,“这个名字是什么意思”。而“定义”为这个名字分配存储控件。无论涉及到变量还是函数时含义都一样。无论在那种情况下,编译器都在“定义”处分配存储控件。对于变量,编译器确定这个变量占多少存储单元,并在内存中产生存放它们的空间。对于函数,编译器产生代码,并为之分配存储空间。函数的存储空间中有一个使用不带参数表或带地址操作符的函数名产生的指针。
定义也可以声明。如果编译器还没有看到过名字A,程序员定义ini A,则编译器马上马上为这个名字分配存储地址。
声明常常使用于extern关键字。如果我们只是声明变量而不定义它,则要求使用extern。对于函数声明,extern是可选的,不带函数体的函数名连同参数表或返回值,自动地作为下一个声明。
阅读(1023) | 评论(0) | 转发(0) |