博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整理C知识点--变量作用范围
阅读量:6810 次
发布时间:2019-06-26

本文共 800 字,大约阅读时间需要 2 分钟。

按照作用域分:

(1).全局变量 Globalvariabless
在所有函数外部定义的变量叫全局变量
作用范围:从定义位置开始到整个程序结束
(换一种说法:函数调用全局变量,全局变量必须在被调用函数的上方)
e.g:
#include <stdio.h>
void eg1(void)
{
printf("i = %d\n",i);//这里的i 在下方被定义
}
int i = 10;//Globalvariable
void eg2(void)
{
eg1();
printf("i = %d\n",i);//这里的i是Globalvariable 已被定义
}
int main(void)
{
eg2();
return 0;
}
该程序会报错 无法识别 i
把函数 eg1 放在 Globalvariable 下方就不会报错(执行顺序从上到下)
(2).局部变量 Localvariable
在一个函数内部定义的变量或者函数的形参 统称为局部变量
作用范围:只能在定义的函数内部使用

e.g:    void eg(int i)    {     int j = 20;    }    //i & j 都是局部变量 i 又称之为 形参

(3).注意的问题

全局变量和局部变量的名称冲突
e.g:
#include <stdio.h>
int i =10;//全局变量 i = 10
void eg(int i)//局部变量 i
{
printf("i = %d\n",i);
}
int main(void)
{
eg(8);//局部变量 i 被赋值8 变成实参

return 0;}输出结果:i = 8全局变量和局部变量名称相同:Localvariable 会把Globalvariables屏蔽

转载于:https://blog.51cto.com/12431776/2053990

你可能感兴趣的文章
shell命令 安装软件包
查看>>
hdoj1043 Eight(逆向BFS+打表+康拓展开)
查看>>
Spring.net 容器注入是替换(后处理器appConfigPropertyHolder)
查看>>
递归改进(在左侧树形不仅可以显示目录还可以显示跟要查询子目录统计的所有文件)...
查看>>
动态参数与静态参数的判断、修改
查看>>
java学习笔记3
查看>>
突然决定要记笔记,于是就来到了博客园,希望自己能够坚持下去
查看>>
Python程序-输出1000以内素数
查看>>
深入理解React、Redux
查看>>
CSS中伪类选择器及伪元素
查看>>
设计原则
查看>>
批处理处理oracle数据库脚本导入
查看>>
创业公司失败的20大原因 没市场需求排第一
查看>>
2018年5月26日笔记
查看>>
为什么String要设计成不可变的?
查看>>
安卓开发学习笔记—————《Anroid编程权威指南》第六章 Android编程与兼容性问题...
查看>>
android-x86 下载地址
查看>>
Hbase+Zookeeper配置与安装
查看>>
JS~jwPlayer为js预留的回调方法大总结
查看>>
Android游戏开发中使用Libgdx引擎遇到的问题及解决办法汇总
查看>>