jasmine214--love

只有当你的内心总是充满快乐、美好的愿望和宁静时,你才能拥有强壮的体魄和明朗、快乐或者宁静的面容。
posts - 731, comments - 60, trackbacks - 0, articles - 0

声明和定义 区别

Posted on 2010-08-11 11:04 幻海蓝梦 阅读(139) 评论(0)  编辑  收藏 所属分类: C++
 

原文:http://www.cppblog.com/sscchh-2000/archive/2006/04/12/5397.html
变量的声明和定义的区别是:

声明是向程序介绍一个名字,它指的是该名字是什么意思,在内存上并没有分配存储空间;

而定义是指为这个名字分配存储空间。如在源文件example.c中的几个例子:
extern int i;//declaration without definition
extern int fun(void);//function declaration
float b;//declaration and definition
int fun(void)//definition
{
return 1;
}
int i;//definition
int add(int x)//declaration and definition
{
return x + 1;
}
void main()
{
b = 1.0f;
i = 2;
fun();
add(5);
}
extern int i;
指的是声明这个变量,在某个函数用到这个变量的时候,它会查找在该程序段中有没有
定义这个变量,如果没有,查找本模块的其他地方,之后查找整个全局空间。直到找到改变量的
定义,如果没有,程序出现编译错误。同样,如果在某个头文件定义了一个变量,例如:在example.h
头文件中定义了int x;如果有两个实现文件example1.cexample2.c都包含了该头文件,此时就会出现变量
重复定义错误。


只有注册用户登录后才能发表评论。


网站导航: