cpp中变量的声明与定义的区别
2008-10-08 14:01
337 查看
从本质的角度来说,声明与定义的区别在于前者完全不需要分配存储空间而后者需要。但是声明与定义的形式丰富,我们必须了解什么样形式的cpp句子是声明句、又是什么样的句子才能叫做定义句。。
一、先说内置类型的变量:int、char.... 对于内置类型变量来说:
1、所有以内置类型名开头+空格+变量名; 的句子都是定义句。如 int x; char c;
2、所有 extern+空格+内置类型名+空格+变量名; 形式的句子都是声明句。如 extern int x; extern char c;
3、所有 extern+空格+内置类型名+空格+变量名=常量; 形式的句子都是定义句。
如 extern int x=1; extern char c='k';
注意,第2与第3形式在的差别只在于有无赋值行为,而正是因为这点差别,才导致了第二条中提到的语句属于声明句、第三条中的语句属于定义句。因为从本质上看,有赋值行为就肯定要分配存储空间,而分配存储空间就说明这个是一个定义的行为了。
二、再说类类型
一、先说内置类型的变量:int、char.... 对于内置类型变量来说:
1、所有以内置类型名开头+空格+变量名; 的句子都是定义句。如 int x; char c;
2、所有 extern+空格+内置类型名+空格+变量名; 形式的句子都是声明句。如 extern int x; extern char c;
3、所有 extern+空格+内置类型名+空格+变量名=常量; 形式的句子都是定义句。
如 extern int x=1; extern char c='k';
注意,第2与第3形式在的差别只在于有无赋值行为,而正是因为这点差别,才导致了第二条中提到的语句属于声明句、第三条中的语句属于定义句。因为从本质上看,有赋值行为就肯定要分配存储空间,而分配存储空间就说明这个是一个定义的行为了。
二、再说类类型
相关文章推荐
- 变量声明和定义的区别
- 变量声明和定义的区别
- C语言 变量声明和定义的区别
- 变量声明和定义的区别(转)
- C/C++ 变量声明和定义的区别 静态变量的作用
- 变量声明和定义的区别
- 变量声明和定义的区别
- C语言 变量声明和定义的区别
- 变量声明和定义的区别
- C++ 中变量的定义与声明区别
- 变量定义和声明的区别(整理)
- 变量的声明与定义以及区别
- C/C++ 变量定义与声明的区别
- 变量声明和定义的区别
- 解决多重定义问题/如何声明全局变量让多个cpp文件使用
- 变量声明和定义的区别
- 变量声明和定义的区别
- 第2章 变量和基本类型 附2 --声明和定义的区别
- static变量不仅要在.h文件声明,而且要在cpp文件中赋值(定义实体)
- 变量声明和定义的区别