[C++程序设计]全局,局部变量
在函数声明中出现的参数名,其作用范围只在 本行的括号内。实际上,编译系统对函数声明中的 变量名是忽略的,即使在调用函数时也没有为它们 分配存储单元。例如
int max(int a,int b);
┆
int max(int x,int y)
{ cout<<x<<y<<endl; cout<<a<<b<<endl; }
//函数声明中出现a、b
//函数定义,形参是x、y //合法,x、y在函数体中有效
//非法,a、b在函数体中无效 编译时认为max函数体中的a和b未经定义。
说明:
(1) 设全局变量的作用是增加函数间数据联系的渠 道。
(2) 建议不在必要时不要使用全局变量,因为:
1 全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。
2 它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。如果将一个函数移到另一个文件中,还要将有关的外部变量及其值一起移过去。但若该外部变量与其他文件的变量同名,就会出现 问题,降低了程序的可靠性和通用性。在程序设计 中,在划分模块时要求模块的内聚性强、与其他模 块的耦合性弱。即模块的功能要单一
(不要把许多 互不相干的功能放到一个模块中),与其他模块的 相互影响要尽量少,而用全局变量是不符合这个原则的。
一般要求把程序中的函数做成一个封闭体,除了可 以通过“实参——形参”的渠道与外界发生联系外,
没有其他渠道。这样的程序移植性好,可读性强。
(3) 如果在同一个源文件中,全局变量与局部变量 同名,则在局部变量的作用范围内,全局变量被屏 蔽,即它不起作用。
[C++程序设计]全局,局部变量的更多相关文章
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- c++静态全局,局部变量---18
原创博文,转载请标明出处--周学伟 http://www.cnblogs.com/zxouxuewei/ static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static. ...
- php部分(查看文件、建立站点、语法变量、变量的几个方法、“全局局部变量的调用”、static、函数参数的作用域);
浏览器查看php文件: 建立站点,浏览php文件: php的语法 <?php echo "Hello World!"; ?> 注释语法: <?php // 这是 ...
- Python自动化--语言基础3--字典、函数、全局/局部变量
字典 dict1 = {'name':'han','age':18,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values ...
- iOS中block 静态全局局部变量block变量,以及对象,详解!
//最近总是犯迷糊,关于block对外部变量的引用,今天有时间就写了一下,加深自己的理解,巩固基础知识 1 #import <Foundation/Foundation.h> ; int ...
- 全局/局部变量、宏、const、static、extern
#pragma mark--全局变量和局部变量 根据变量的作用域,变量可以分为: 一.全局变量 1> 定义:在函数外面定义的变量2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后 ...
- python自动化--语言基础三字典、函数、全局/局部变量
字典 dict1 = {,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values()) #打印所有的values值 pri ...
- day09-Python运维开发基础(函数收集参数、命名关键字参数与返回值、函数名的特殊使用及 全局/局部变量详解)
1. 函数收集参数.命名关键字参数与返回值.函数名的特殊使用 # ### 默认形参 和 关键字实参 # 默认形参和 关键字实参 在写法上是一样 # 函数的定义处 """默 ...
- python基础之全局局部变量及函数参数
1.局部变量和全局变量 1.1局部变量 局部变量是在函数内部定义的变量,只能在定义函数的内部使用 函数执行结束后,函数内部的局部变量会被系统收回 不同函数可以定义相同名字的局部变量,但是各用个的互不影 ...
随机推荐
- 优化PHP代码的40条建议(转载)
[size=5][color=Red](译文)优化PHP代码的40条建议[/color][/size] 40 Tips for optimizing your php Code 原文地址:http:/ ...
- CSS定义网页滚动条
(一)滚动条样式主要涉及到如下CSS属性: overflow属性: 检索或设置当对象的内容超过其指定高度及宽度时如何显示内容overflow: auto; 在需要时内容会自动添加滚动条overflow ...
- JS 多种变量定义
对象直接量创建一个对象: var obj = {x:[1,2],y:23}; 代码跟下面是一样的. var obj=new Object(); obj.x=new Array(1,2); obj. ...
- Linux中重命名文件
linux下重命名文件有两种方式: 1.较简单的处理命令:mv mv 原文件名 新文件名 如:mv myFile newName 将MyFile重命名为newName. 2.linux提供了一个重命名 ...
- 《Programming WPF》翻译 第7章 4.转换
原文:<Programming WPF>翻译 第7章 4.转换 支持高分辨率显示是WPF中的重要样式.这是被部分地支持--强调了可伸缩的向量图,而不是图像.但是,正如使用GDI+和GDI3 ...
- Find Median from Data Stream 解答
Question Median is the middle value in an ordered integer list. If the size of the list is even, the ...
- Gray Code 解答
Question The gray code is a binary numeral system where two successive values differ in only one bit ...
- virtual hard disk
- nodejs学习笔记之网络编程
了解一下OSI七层模型 OSI层 功能 TCP/IP协议 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化 ...
- DBA 经典面试题(2)
三.备份恢复类 ================================================================================ 1:备份如何分 ...