变量声明和定义有什么区别
2016-01-16 00:00
363 查看
变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern
变量的声明有两种情况:
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
定义和声明的最重要区别就是:
定义创建对象并为这个对象分配了内存,声明没有分配内存。
声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern
变量的声明有两种情况:
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
什么是定义?什么是声明?它们之间的区别是什么?
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
定义和声明的最重要区别就是:
定义创建对象并为这个对象分配了内存,声明没有分配内存。
相关文章推荐
- 写出bool,int,float,指针变量与‘零’的比较语句
- C、C++中关键字static的区别
- C/C++程序编译的内存分配情况
- 用C++设计一个不能被继承的类
- 关于IOS数据解析的错误分析
- xcode7.3显示数据下载进度
- [Ng机器学习公开课1]机器学习概述
- 我和微信的故事:你拒绝不了的wemall
- 再来讨论__strong 和 strong
- 二级导航动画下拉菜单nav
- mysql排序
- [乡土民间故事_徐苟三传奇]第廿六回_孟老板三次遭戏弄
- 用GitLab搭建自己的私有GitHub
- shell study
- android:scaleType centerCrop和centerInside的小小区别
- android基本控件示例CheckBox(03)
- android基本控件示例progressbar进度条(03)
- android基本控件示例SeekBar,一般用在播放音乐的进度条(03)
- Java面试题集(1-50)
- 数据库(1)-开篇