目录

  • 一.全局变量和局部变量简介

    • 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
*/

三.猜你喜欢

  1. C 语言 数组下标越界和内存溢出区别
  2. C 语言 使用指针遍历数组
  3. C 语言 指针和数组区别
  4. C 语言 指针数组和数组指针区别
  5. C 语言 野指针
  6. C 语言 函数值传递和址传递
  7. C 语言 函数不定长参数
  8. C 语言 函数指针
  9. C 语言 指针函数
  10. C 语言 回调函数 callback
  11. C 语言 #pragma once
  12. C 语言 #include <> 与 #include “” 区别
  13. C 语言 const 修饰函数参数
  14. C 语言 const 和 define 区别
  15. C 语言 #运算符
  16. C 语言 ##运算符
  17. C 语言 __VA_ARGS__
  18. C 语言 ##__VA_ARGS__
  19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C 语言 va_start 宏
  21. C 语言 va_end 宏
  22. C 语言 va_arg 宏
  23. C 语言 vprintf 函数
  24. C 语言 va_start / va_end / va_arg 自定义 printf 函数
  25. C 语言 main 函数
  26. C 语言 main 函数参数 main(int argc, char *argv[])
  27. C 语言 exit 函数
  28. C 语言 abort 函数
  29. C 语言 assert 函数
  30. C 语言 局部变量
  31. C 语言 全局变量
  32. C 语言 全局变量和局部变量区别

未经允许不得转载:猿说编程 » C 语言 全局变量和局部变量区别

C语言 全局变量和局部变量区别 - C语言零基础入门教程相关推荐

  1. C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 - C语言零基础入门教程

    目录 一._wcsupr_s 函数简介 二._wcsupr_s 函数实战 三.注意问题 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...

  2. C/C++ _wcslwr_s 函数 – unicode 字符串大写转小写 - C语言零基础入门教程

    目录 一._wcslwr_s 函数简介 二._wcslwr_s 函数实战 三.注意问题 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...

  3. C/C++ _strupr_s 函数 – 字符串小写转大写 - C语言零基础入门教程

    目录 一._strupr_s 函数简介 二._strupr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...

  4. C/C++ _strlwr_s 函数 – 字符串大写转小写- C语言零基础入门教程

    目录 一._strlwr_s 函数简介 二._strlwr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...

  5. C/C++ atol函数- C语言零基础入门教程

    目录 一.ltoa 函数简介 二.int/long/unsigned long 区别 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 三.atol 函数 ...

  6. C/C++ strtol 函数 - C语言零基础入门教程

    目录 一.strtol 函数简介 二.strtol 函数函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strtol 函数简 ...

  7. C/C++ strtod函数 - C语言零基础入门教程

    目录 一.strtod 函数简介 二.strtod 函数函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strtod 函数简 ...

  8. C/C++ ultoa函数 - C语言零基础入门教程

    目录 一.ltoa 函数简介 二.int/long/unsigned long 区别 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 三.ultoa 函 ...

  9. C/C++ ltoa函数 - C语言零基础入门教程

    目录 一.ltoa 函数简介 二.int 和 long 区别 三.ltoa 函数函数实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...

最新文章

  1. 项目管理的四个基本阶段及流程(干货)
  2. 用Python解“爬动的蠕虫”题
  3. 解决pycharm创建github工程但push失败的问题
  4. 软件测试工程师面试问题
  5. 【Alpha】Daily Scrum Meeting第七次
  6. boost::statechart模块无效图表测试
  7. c语言编译器不支持64位,什么编译器支持64位整数?
  8. [Swift]loadNibNamed方法
  9. 人工智能技术将重塑银行业
  10. 供应商禁止供货后,这个城市行动了:社区团购不得低价倾销、排挤对手
  11. alisql mysql_alisql安装步骤
  12. 【STM32训练—SIM900A模块】第一篇、电脑的串口助手驱动SIM900A发送中文和英文短信
  13. 用友u8怎么导出凭证_老师,用友U8里的凭证如何导出(导出有借贷方向的)?...
  14. 仿微信朋友圈发表图片拖拽和删除功能
  15. 广义线性模型matlab,使用广义线性模型拟合数据
  16. 蚂蚁金服2019实习生面经总结(已拿口头offer)
  17. 网站入侵工具之wscan使用详解
  18. C++编程-牛客网-雀魂启动
  19. 为你的树莓派WI-FI配置加密密码
  20. 全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版

热门文章

  1. 一场关于动态化开发实践的技术探讨
  2. 阿里云峰会|阿里云数据中台重磅升级后拟扶持100万家企业数智化
  3. 阿里云 MaxCompute 2020-4 月刊
  4. 海纳威上云 构建数字化透明工厂
  5. K8S从懵圈到熟练 - 我们为什么会删除不了集群的命名空间?
  6. 阿里云发布迁移解决方案,“迁移上云”这件事有专业的人做
  7. HTTPS时代已来,你做好准备了吗?
  8. 沙漠种水稻,88岁的袁隆平又创造奇迹!他参与的“袁米”还有个大计划
  9. 1 分钟记住 docker 镜像和容器常用基本命令
  10. Redis 巧用数据类型实现亿级数据统计