C语言 全局变量和局部变量的区别
局部变量和全局变量的区别
背景:上午看书阅及这两对概念,有很多相似之处,故记之。
一. 局部变量&全局变量
1 局部变量:“在函数内定义的变量”,
即在一个函数内部定义的变量,只在本函数范围内有效。
2 全局变量:“在函数外定义的变量”,
即从定义变量的位置到本源文件结束都有效。
目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,
就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。
为了便于区别两者,C程序设计人员有一个习惯,将全局变量名的第一个字母用大写表示。如:float Max=0,Min=0; //定义全局变量Max,Min
二. 内部函数&外部函数
1.内部函数:只被本文件中其他函数所调用。
定义内部函数时,在函数名、函数类型前加 static 。 static 类型名 函数名(形参表); 例如,static int fun(int a,int b);
2.外部函数:可供其他文件调用。
定义外部函数时,在函数首部左端加 extern。extern int fun(int a,int b);
若在定义函数时省略extern,则默认为外部函数。
拓展一个问题,为什么C语言要求在定义所有的变量时都要指定变量的类型?
所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。
在计算机中,数据是存放在存储单元中的,它是具体存在的(在数学中,数和数的运算都是抽象的)。而且,存储单元是由有限的字节构成的,
每一个存储单元中存放数据的范围是有限的,不可能存放“无穷大”的数,也不能存放循环小数。
最后附上c语言包含的数据类型
END 谢谢!
分类: c/c++
转载自:https://www.cnblogs.com/gaigaichen/p/6860961.html
C语言 全局变量和局部变量的区别相关推荐
- C语言 全局变量和局部变量区别 - C语言零基础入门教程
目录 一.全局变量和局部变量简介 1.全局变量简介 2.局部变量简介 二.全局变量和局部变量注意事项 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语 ...
- C语言-全局变量与局部变量
C语言-全局变量与局部变量 某些问题要想彻底解决,只能仰仗技术革新和顶层设计的突破.就好比汽车出现前,你无论如何改进饲料配方和养殖技术,也无法培养出一匹时速100公里的马.正因为在认识问题这个阶段 ...
- Java全局变量和局部变量的区别
java中的变量分为成员变量和局部变量,它们分别是 成员变量: 成员变量是在类的范围里定义的变量. 成员变量有初始值,初始值为变量类型的默认值. 没有被static修饰的成员变量存储在对象所在的堆内存 ...
- java 全局变量和局部变量的区别
全局变量和局部变量的简介: 1.全局变量:描述对象有什么(在类中定义),类中所有方法都可以使用. 2.局部变量:临时保存数据(在类的方法中定义),只能在当前方法中使用. 全局变量和局部变量的区别: 1 ...
- c语言中全局变量内存,C语言——全局变量和局部变量在内存中的区别——及编译后的内存分区【栈-堆-全局存储区-文字常量区-程序代码区】...
目录: 一:全局变量 二:局部变量 三:C语言经过编译之后将内存分为以下几个区域 (1)栈(stack) (2)堆(heap) (3)全局(静态)存储区 (4)文字常量区 (5)程序代码区 四:区别 ...
- c语言建立全局变量,C语言全局变量和局部变量
引子--- 变量可以在程序中三个地方说明: 函数内部.函数的参数定义中或所有的函数外部.根据所定义位置的不同, 变量可分为局部变量.形式参数和全程变量.从空间角度来看,变量可以分为全局变量和局部变量, ...
- C语言 全局变量和局部变量
#全局变量和局部变量 ##1.变量作用域基本概念 - 变量作用域:变量的可用范围 - 按照作用域的不同,变量可以分为:局部变量和全局变量 ##2.局部变量 - 局部变量: +定义在函数内部的变量以及函 ...
- c语言全局变量和局部变量问题汇总
1.局部变量是否能和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,须要使用"::" 局部变量能够与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局 ...
- C语言全局变量和局部变量深入
局部变量 定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错. 示例 int f1(int a){int b,c; / ...
- 在shell中全局变量与局部变量的区别及其举例
主要区别: 1.作用域不同:全局变量的作用域为整个程序,它的声明在后面的各个部分都可以发生作用,而局部变量仅仅为定义的某个函数.且局部变量只能在局部进行使用. 2.优先级不同:局部变量优先于全局变量. ...
最新文章
- 院士论坛|李德仁:测绘遥感能为智能驾驶做什么? ——论测绘遥感与智能驾驶
- MATLAB table数据结构 再篇
- 展望我的2022Flag
- Android开发人员资料大全(开发人员必看)
- linux脚本运行错误:$'ls\r': command not found
- http的“无连接”指的是_http协议无状态中的 quot;状态quot; 到底指的是什么?...
- 58 转转技术总监骆俊武:一个核心系统 3 万多行代码的重构实战篇
- Springboot01创建第一个程序
- 跟着动画学习 TCP 三次握手和四次挥手
- NeHe OpenGL第三十二课:拾取游戏
- iis url重写 域名跳转子目录_IIS设置URL重写,实现页面的跳转的重定向方法
- linux重定向到某目录文件,linux shell中12 21 1file_path重定向语法详解
- OLAP(On-line Analytical Processing,联机分析处理)
- JAVA映射文件到内存,java之内存映射文件
- c语言 步进电机 程序,步进电机加速启动C语言程序
- 【毕业设计】深度学习YOLO安检管制物品识别与检测 - python opencv
- 计算机硬盘分区win7,win7如何磁盘分区 教您win7磁盘分区
- ubuntu 1804 安装matlab2018a
- 金蝶KIS软件操作小技巧
- Android简单实现比较两张涂鸦相似度