什么是声明?什么是定义?
来源:互联网 发布:淘宝店卖保健品 编辑:程序博客网 时间:2024/05/05 00:04
这是一个基础且重要的知识。什么是声明,什么是定义。
让我们先来看看下面的两个例子
int a;extern int a;
这两个里面,哪个是声明? 哪个是定义?
要解决这个问题,当然我们需要先知道什么是声明,什么是定义。
声明:
1) 告诉编译器,这个变量名或对象已经匹配到一块内存空间上了。下面的代码用到变量或对象是在别的地方定义。声明可以出现多次。
2) 告诉编译器,这个名字已经被预定了,别的地方再也不能它来作为变量名或对象名。这种声明最典型的例子就是函数参数的声明。
定义:
就是编译器为一个变量或对象分配一块内存空间,并给它取上名字。这个名字就是变量名或对象名。并且,在这个变量的作用域中只能被定义一次,当被定义多次的时候,编译器会报错。说你重覆定义同一个变量或对象。
或许还有个疑问。例子2 语句中的 extern 是什么作用?这里就这个问题简单说说 extern 它的其中一个作用。
extern 可以修饰变量,即系放在变量前。其作用是声明 我(extern)修饰的变量其定义在别的文件中。不在当前文件。
OK,现在我们知道了其各自的含义了。那么对于上面两个例子,我想答案早已浮现了。
int a; //此语句为定义extern int a; //此语句为声明
对于声明和定义,其实它们有个很明显的区别:
定义,创建了对象并分配内存空间。声明,没有分配空间
- 什么是声明?什么是定义?
- 什么是定义,什么是声明。
- 什么是声明,什么是定义,这里讲的竟如此清楚
- 什么是变量定义和变量声明
- 在C语言中什么是定义?什么是声明?它们有何区别?
- joomla 什么是jdoc声明?
- 定义:什么是Web 2.0?
- {定义介绍}什么是EJB
- {定义介绍}什么是REST
- {定义介绍}什么是REST
- {定义介绍}什么是EJB
- 【基础常识】什么是main函数及变量的声明和定义
- 什么是
- 什么是EAM?定义、原理、核心
- 什么是流程图?流程图的定义
- 什么是seo?seo的定义
- 什么是RTOS系统定义分析
- javaBean定义理解什么是JavaBean
- 第十六周实验报告(1)——涨工资
- BFS小结(持续更新中)
- Objective-C属性介绍
- ASCII码
- DynamicQuery一张或者多张表
- 什么是声明?什么是定义?
- iphone ios NSLog To File 到文件
- KMP算法源码
- 《第十六周实验报告任务1——涨工资并排序 》
- database的l主要对象
- VS.NET开发环境操作小技巧
- C++ 类,运算符重载--->代码
- 改善用户体现小体现_文字不可选择
- 解决vim乱码