2019独角兽企业重金招聘Python工程师标准>>>

变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。

声明用于向程序表明变量的类型和名字,定义包括声明:当定义变量时声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型前的关键字extern

变量的声明有两种情况:

1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。

2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。

声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。

什么是定义?什么是声明?它们之间的区别是什么?

所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。

声明有2重含义:

(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。

(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。

定义和声明的最重要区别就是:

定义创建对象并为这个对象分配了内存,声明没有分配内存。

转载于:https://my.oschina.net/lvguidong/blog/603661

变量声明和定义有什么区别相关推荐

  1. C语言变量声明和定义 - C语言零基础入门教程

    目录 1.变量名的开头必须是字母或下划线,不能是数字 2.变量名中的字母是区分大小写的 3.变量名绝对不可以是 C 语言关键字 4.变量名中不能有空格 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...

  2. 变量声明和定义的区别

    转自:http://www.cnblogs.com/GavinDai/archive/2011/10/24/2222735.html 我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候 ...

  3. C语言 变量声明和定义的区别

    变量的声明有两种情况: 1.一种是需要建立存储空间的.例如:int a 在声明的时候就已经建立了存储空间. 2.另一种是不需要建立存储空间的. 例如:extern int a 其中变量a是在别的文件中 ...

  4. 内存四域,变量声明和定义,寄存器,c内嵌汇编,auto,堆栈,常量,静态变量

     1.内存四大区域 2.在程序中,变量的声明可以有多份,定义只能有一份 3.寄存器在cpu里面,没有地址 4.c语言内嵌汇编语言 5.auto变量 自动分配内存,自动释放内存. 6.栈的大小由编译 ...

  5. C语言中的强符号与弱符号(关于变量声明与定义的深入讨论)

    看到一篇介绍C语言强符号与弱符号的文章非常好,转载过来加深印象. 原文地址:http://blog.csdn.net/astrotycoon/article/details/8008629 ===== ...

  6. Javascript变量声明var和let的区别

    作用域: 全局作用域 局部作用域(函数作用域) 块作用域 区别:1.var有变量提升,而let没有:2.let不允许在相同的作用域下重复声明,而var允许:3.let没有暂时性死区问题:4.let创建 ...

  7. C语言中变量声明和变量定义的区别

    本文转载至CSDN博客JeanCheng 变量声明和变量定义 变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义. 变量声明:用于向程序表明变量的类型和名字. 定义也 ...

  8. c语言中声明外部函数需要添加的关键字,C语言中声明和定义的区别——分析extern关键词。...

    一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的. 定义和声明的区别(主要针对变量): 定义是要为变量分配存储空间,还可以在定义的时候为变量指定初始 ...

  9. 如何理解变量的声明和定义?

    版权声明:本文为CSDN博主「史凯凯-博客馆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/skk18739 ...

最新文章

  1. AI芯片,看好云端还是边缘?
  2. 利用pyBoard的实验来讨论部分MicroPython特性
  3. NSURLSession
  4. centos7 systemctl status servicename执行慢的问题
  5. 世界最小晶体管问世 栅极长度仅一纳米
  6. Webclient UI view里Javascript的注释问题
  7. (一)Web Service——基本概念
  8. 关于Centos7启动,ens33无IP问题解决
  9. 《恋上数据结构第1季》动态扩容数组原理及实现
  10. Win10显示多个虚拟桌面
  11. Bootstrap基础三 排版
  12. 大三学生HTML期末作业,网页制作作业——HTML+CSS+JavaScript饮品饮料茶(7页)
  13. 90岁的褚时健退休了,我们能够从褚老身上学到些什么?
  14. FusionSphere虚拟化套件
  15. 【STM8】IAR 项目新建步骤
  16. MySQL复习记录(二):MySQL基础知识与基本操作
  17. 华为ebgp_华为设备BGP详细配置
  18. python int() round() floor()函数的比较
  19. 2022-2028年全球植入前基因检测收入年复合增长率CAGR为 5.6%
  20. 失传千年AE特效真经(一)

热门文章

  1. 开源跨平台移动项目Ngui【Action动作系统】
  2. Java多线程初学者指南(10):使用Synchronized关键字同步类方法
  3. 【设计模式】装饰者模式
  4. css3效果: animate实现点点点loading动画效果(一)
  5. 工作随笔之nginx 应用场景
  6. CRUD之delete操作
  7. C语言中的union
  8. 互联网协议 — OSPF 开放式最短路径优先协议
  9. 解决apt-get /var/lib/dpkg/lock-frontend 问题
  10. 字符设备驱动程序之poll机制