C语言 全局变量和局部变量区别 - C语言零基础入门教程
目录
- 一.全局变量和局部变量简介
- 1.全局变量简介
- 2.局部变量简介
- 二.全局变量和局部变量注意事项
- 三.猜你喜欢
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
一.全局变量和局部变量简介
1.全局变量简介
在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是从定义变量的位置到本源文件结束都有效。
int a, b; //全局变量
void func1(){int c, d; //局部变量//TODO:
}int main(){int e, f; //局部变量//TODO:return 0;
}
2.局部变量简介
定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错。
int f1(int a){int b,c; //a,b,c仅在函数f1()内有效return a+b+c;
}
int main(){int m,n; //m,n仅在函数main()内有效return 0;
}
二.全局变量和局部变量注意事项
1.局部变量(Local Variable)也称为内部变量,其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的;
2.全局变量(Global Variable),它的作用域默认是从定义变量的位置到本源文件结束都有效,例如:
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 全局变量和局部变量区别
//@Time:2021/07/18 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include <stdio.h>void func1(){x += 10;y += 20;printf("函数:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}int x = 10;
int y = 20;void func2(){x += 10;y += 20;printf("函数:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}
int main(){func1();func2();printf("函数:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);return 0;
}
/*
输出:main.cpp: In function ‘void func1()’:
main.cpp:6:5: error: ‘x’ was not declared in this scope6 | x += 10;| ^
main.cpp:7:2: error: ‘y’ was not declared in this scope7 | y += 20;| ^*/
3.如果局部变量名字和全局变量名字相同,函数内部默认操作的是局部变量,举个例子:
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 全局变量和局部变量区别
//@Time:2021/07/18 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include <stdio.h>int x = 10; //全局变量
int y = 20; //全局变量void func1(){int x = 8; //局部变量(与全局变量名字相同)y += 20; //全局变量printf("函数:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}void func2(){int x = 5; //局部变量(与全局变量名字相同)y += 20; //全局变量printf("函数:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}
int main(){func1();func2();printf("函数:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);return 0;
}/*
输出:函数:func1 中 x = 8 y = 40
函数:func2 中 x = 5 y = 60
函数:main 中 x = 10 y = 60
*/
三.猜你喜欢
- C 语言 数组下标越界和内存溢出区别
- C 语言 使用指针遍历数组
- C 语言 指针和数组区别
- C 语言 指针数组和数组指针区别
- C 语言 野指针
- C 语言 函数值传递和址传递
- C 语言 函数不定长参数
- C 语言 函数指针
- C 语言 指针函数
- C 语言 回调函数 callback
- C 语言 #pragma once
- C 语言 #include <> 与 #include “” 区别
- C 语言 const 修饰函数参数
- C 语言 const 和 define 区别
- C 语言 #运算符
- C 语言 ##运算符
- C 语言 __VA_ARGS__
- C 语言 ##__VA_ARGS__
- C 语言 函数不定长参数 ##__VA_ARGS__经典案例
- C 语言 va_start 宏
- C 语言 va_end 宏
- C 语言 va_arg 宏
- C 语言 vprintf 函数
- C 语言 va_start / va_end / va_arg 自定义 printf 函数
- C 语言 main 函数
- C 语言 main 函数参数 main(int argc, char *argv[])
- C 语言 exit 函数
- C 语言 abort 函数
- C 语言 assert 函数
- C 语言 局部变量
- C 语言 全局变量
- C 语言 全局变量和局部变量区别
未经允许不得转载:猿说编程 » C 语言 全局变量和局部变量区别
C语言 全局变量和局部变量区别 - C语言零基础入门教程相关推荐
- C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 - C语言零基础入门教程
目录 一._wcsupr_s 函数简介 二._wcsupr_s 函数实战 三.注意问题 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...
- C/C++ _wcslwr_s 函数 – unicode 字符串大写转小写 - C语言零基础入门教程
目录 一._wcslwr_s 函数简介 二._wcslwr_s 函数实战 三.注意问题 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...
- C/C++ _strupr_s 函数 – 字符串小写转大写 - C语言零基础入门教程
目录 一._strupr_s 函数简介 二._strupr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...
- C/C++ _strlwr_s 函数 – 字符串大写转小写- C语言零基础入门教程
目录 一._strlwr_s 函数简介 二._strlwr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...
- C/C++ atol函数- C语言零基础入门教程
目录 一.ltoa 函数简介 二.int/long/unsigned long 区别 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 三.atol 函数 ...
- C/C++ strtol 函数 - C语言零基础入门教程
目录 一.strtol 函数简介 二.strtol 函数函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strtol 函数简 ...
- C/C++ strtod函数 - C语言零基础入门教程
目录 一.strtod 函数简介 二.strtod 函数函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strtod 函数简 ...
- C/C++ ultoa函数 - C语言零基础入门教程
目录 一.ltoa 函数简介 二.int/long/unsigned long 区别 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 三.ultoa 函 ...
- C/C++ ltoa函数 - C语言零基础入门教程
目录 一.ltoa 函数简介 二.int 和 long 区别 三.ltoa 函数函数实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...
最新文章
- 项目管理的四个基本阶段及流程(干货)
- 用Python解“爬动的蠕虫”题
- 解决pycharm创建github工程但push失败的问题
- 软件测试工程师面试问题
- 【Alpha】Daily Scrum Meeting第七次
- boost::statechart模块无效图表测试
- c语言编译器不支持64位,什么编译器支持64位整数?
- [Swift]loadNibNamed方法
- 人工智能技术将重塑银行业
- 供应商禁止供货后,这个城市行动了:社区团购不得低价倾销、排挤对手
- alisql mysql_alisql安装步骤
- 【STM32训练—SIM900A模块】第一篇、电脑的串口助手驱动SIM900A发送中文和英文短信
- 用友u8怎么导出凭证_老师,用友U8里的凭证如何导出(导出有借贷方向的)?...
- 仿微信朋友圈发表图片拖拽和删除功能
- 广义线性模型matlab,使用广义线性模型拟合数据
- 蚂蚁金服2019实习生面经总结(已拿口头offer)
- 网站入侵工具之wscan使用详解
- C++编程-牛客网-雀魂启动
- 为你的树莓派WI-FI配置加密密码
- 全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版