变量声明和定义有什么区别
2019独角兽企业重金招聘Python工程师标准>>>
变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern
变量的声明有两种情况:
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
什么是定义?什么是声明?它们之间的区别是什么?
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
定义和声明的最重要区别就是:
定义创建对象并为这个对象分配了内存,声明没有分配内存。
转载于:https://my.oschina.net/lvguidong/blog/603661
变量声明和定义有什么区别相关推荐
- C语言变量声明和定义 - C语言零基础入门教程
目录 1.变量名的开头必须是字母或下划线,不能是数字 2.变量名中的字母是区分大小写的 3.变量名绝对不可以是 C 语言关键字 4.变量名中不能有空格 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...
- 变量声明和定义的区别
转自:http://www.cnblogs.com/GavinDai/archive/2011/10/24/2222735.html 我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候 ...
- C语言 变量声明和定义的区别
变量的声明有两种情况: 1.一种是需要建立存储空间的.例如:int a 在声明的时候就已经建立了存储空间. 2.另一种是不需要建立存储空间的. 例如:extern int a 其中变量a是在别的文件中 ...
- 内存四域,变量声明和定义,寄存器,c内嵌汇编,auto,堆栈,常量,静态变量
1.内存四大区域 2.在程序中,变量的声明可以有多份,定义只能有一份 3.寄存器在cpu里面,没有地址 4.c语言内嵌汇编语言 5.auto变量 自动分配内存,自动释放内存. 6.栈的大小由编译 ...
- C语言中的强符号与弱符号(关于变量声明与定义的深入讨论)
看到一篇介绍C语言强符号与弱符号的文章非常好,转载过来加深印象. 原文地址:http://blog.csdn.net/astrotycoon/article/details/8008629 ===== ...
- Javascript变量声明var和let的区别
作用域: 全局作用域 局部作用域(函数作用域) 块作用域 区别:1.var有变量提升,而let没有:2.let不允许在相同的作用域下重复声明,而var允许:3.let没有暂时性死区问题:4.let创建 ...
- C语言中变量声明和变量定义的区别
本文转载至CSDN博客JeanCheng 变量声明和变量定义 变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义. 变量声明:用于向程序表明变量的类型和名字. 定义也 ...
- c语言中声明外部函数需要添加的关键字,C语言中声明和定义的区别——分析extern关键词。...
一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的. 定义和声明的区别(主要针对变量): 定义是要为变量分配存储空间,还可以在定义的时候为变量指定初始 ...
- 如何理解变量的声明和定义?
版权声明:本文为CSDN博主「史凯凯-博客馆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/skk18739 ...
最新文章
- AI芯片,看好云端还是边缘?
- 利用pyBoard的实验来讨论部分MicroPython特性
- NSURLSession
- centos7 systemctl status servicename执行慢的问题
- 世界最小晶体管问世 栅极长度仅一纳米
- Webclient UI view里Javascript的注释问题
- (一)Web Service——基本概念
- 关于Centos7启动,ens33无IP问题解决
- 《恋上数据结构第1季》动态扩容数组原理及实现
- Win10显示多个虚拟桌面
- Bootstrap基础三 排版
- 大三学生HTML期末作业,网页制作作业——HTML+CSS+JavaScript饮品饮料茶(7页)
- 90岁的褚时健退休了,我们能够从褚老身上学到些什么?
- FusionSphere虚拟化套件
- 【STM8】IAR 项目新建步骤
- MySQL复习记录(二):MySQL基础知识与基本操作
- 华为ebgp_华为设备BGP详细配置
- python int() round() floor()函数的比较
- 2022-2028年全球植入前基因检测收入年复合增长率CAGR为 5.6%
- 失传千年AE特效真经(一)