C/C++ 声明与定义
来源:互联网 发布:博拉网络是做什么的 编辑:程序博客网 时间:2024/05/17 04:02
变量的定义(definition):用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义;
变量的声明(declaration):用于向程序表明变量的类型和名字。
定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。
有分配空间的叫定义,没分配空间的叫声明。
另外,“定义”的同时一定耦合了一个“声明”
简单来说有下面四种情况:
1. 变量和对象不加extern永远是定义,类中的除外。
int i; //定义string str; //定义extern int i; //声明
2. 函数只有函数头是声明,有函数体是定义。
void fun (int i, char c) ; // fun是声明, i, char, 也是声明 void fun (int i, char c) // fun是定义 {......}
3. 如果声明有初始化式,就被当作定义,即使前面加了extern。
extern double pi = 3.14159;
4. 类的情况
class A; //A的声明 class A{…};//A的定义 class A { static int x; //这里的x是声明,即x还没有分配空间 static const int a; //这里的a是声明,同上 void fun(); //这里的函数是声明 //非static变量在类定义对象时才分配内存. int a; //a是定义,已分配空间 char c; //c是声明,同上 }; int A::x; //这个才是定义 const int A::a=11; //这个才是定义
注:在VC里编译下面代码会出现以下错误
void fun(int a, int a); // a应该是个声明
error C2086: 'a' : redefinition
提示说是重复定义,其实a是声明,但总不能说重复声明吧,再说声明是可以多次的,所以这里提示的‘定义’非我们上面提到的‘定义’。
- C/C++定义与声明
- C/C++ 声明与定义
- C语言定义与声明
- C/C++定义与声明
- C中的声明与定义
- C语言定义与声明
- C语言声明与定义
- C语言声明与定义
- 【C/C++】变量的定义与声明
- C语言: 如何区分 声明与定义
- C语言定义与声明的区别
- C语言早期函数声明与定义
- C语言 全局变量定义与声明
- C——定义与声明
- 深入浅出C语言(3)----声明与定义
- C语言的声明与定义
- 关于C中函数声明与定义
- 小心C语言的定义与声明
- PHP安全习惯1
- MyC++之浅谈堆栈
- PHP安全习惯2
- 正则表达式(regex)及C语言实现,超强查找/匹配/替换算法
- 使用commons-dbutils简化JDBC操作(一)
- C/C++ 声明与定义
- iphone下self用法
- PHP安全习惯3
- 使用commons-dbutils简化JDBC操作(二) dbutils+反射
- Cookie使用utf-8编码显示
- wince 更换ico 图标 托盘中的图标
- myUrl Jquery 工具 插件
- mingw
- java concurrency