C语言 变量的作用域

news2024/11/20 18:22:19

今天 我们来说变量的作用域和存储类型

每种事物 都有自己作用的范围限制 例如 汽车只能在路上跑 轮船只能在海洋 飞机只能通行于天空
函数的参数 也只有在函数被调用过程中分配内存资源 函数执行结束 空间也会被立即释放
这也说明了 行参变量只有在函数内才有效 离开了该函数 就不能再使用了

我们将这种变量的作用范围 称为变量的作用域
只有在该范围内定义的变量 才是有意义的

根据作用域不同 C语言的变量可划分为 全局变量和局部变量

局部变量
是在一个函数 或 一个语句块内部定义的变量
它的作用域 只作用于 该函数或代码块中
在这里插入图片描述
只有在声明变量的 函数 或 代码块中 才能使用局部变量 不然就会拿不到

使用局部变量 应该注意以下几点
main0)主函数中定义的局部变量,只能在maim0)内起作用,其它函数不能使用。
函数定义的形参属于被调用函数的局部变量,只在所定义的函数中使用,其他函数不能使用。实参则是属于主调函数的局部变量。
不同的函数可以使用相同的局部变量名,它们分配不同的存储空间,代表不同的对象,不会发生冲突。

全局变量
全局变量通常用来在函数之间传递数据,使多个函数共亨同一变量。
全局变量的作用域是从该变量的定义点处到整个文件结束为止。
全局变量可以被本文件中多个函数共用
如果全局变量定义在一个文件的开始处,则在整个文件范围内都可以使用它。

在这里插入图片描述
我们在外部定义了 x y 以及 i j
它们都是全局变量 而 b c 是 只能在 F1函数 声明位置后 才能使用的 m n 则是 在 main 声明位置后才能使用的

还有就是 函数只有在声明后 才能使用 就比如 你在 x 还没声明时 就用x 依旧取不到 因为代码是从上至下执行的 必须先声明 再调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1657017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员的实用神器,16款程序员生产力工具推荐

前言 在软件开发的海洋中,程序员的实用神器如同航海中的指南针,帮助他们导航、加速开发、优化代码质量,并最终抵达成功的彼岸。这些工具覆盖了从代码编写、版本控制到测试和部署的各个环节。 一、程序员开发工具 Intellij IDEA IntelliJ I…

【Linux网络编程】HTTPS协议

【Linux网络编程】HTTPS协议 目录 【Linux网络编程】HTTPS协议HTTPS介绍加密常见的加密方式HTTPS的工作过程探究(重点)常见问题完整流程总结 作者:爱写代码的刚子 时间:2024.5.9 前言:本篇博客将会介绍HTTPS协议 HTTPS…

Linux-笔记 uboot修改设备树

1. FDT介绍 扁平设备树(Flattened Device Tree,FDT),也叫平坦设备树,是设备树的一种二进制表示形式,提高了在嵌入式系统中的传输和解析效率; 2. 在U-Boot中使用FDT 2.1. 进入U-Boot 开发板上…

企业级通用业务 Header 处理方案

目录 01: 处理 PC 端基础架构 02: 通用组件:search 搜索框能力分析 03: 通用组件:search 搜索框样式处理 04: 通用组件:Button 按钮能力分析 05: 通用组件:Button 按钮功能实现 06: 通用组件:完善 search 基本…

【漏洞复现】GB28181摄像头管理平台api接口处存在未授权漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

【北京迅为】《iTOP-3588开发板nfstftp烧写手册》

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

力扣HOT100 - 4. 寻找两个正序数组的中位数

解题思路: 两个数组合并,然后根据奇偶返回中位数。 class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int m nums1.length;int n nums2.length;int[] nums new int[m n];if (m 0) {if (n % 2 0) return (nums2…

若依集成mybatis-plus 超详细教程(亲测可用)

文章目录 简介步骤第一步第二步第三步第四步第五步第六步 使用QueryWrapperservice层impl 实现接口类层Mapper层 简介 话不多说 直接跟着下面的教程操作,如果有报错私信我,或者通过博文下面的微信名片加我微信,免费解答哦! 步骤 …

代码随想录刷题随记31-贪心5

代码随想录刷题随记31-贪心5 435. 无重叠区间 leetcode链接 按照右边界排序,从左向右记录非交叉区间的个数。 此时问题就是要求非交叉区间的最大个数。 这里记录非交叉区间的个数还是有技巧的,如图: 左边界排序可不可以呢? 也是…

Unity数据持久化之XML

目录 数据持久化XML概述XML文件格式XML基本语法XML属性 C#读取存储XMLXML文件存放位置C#读取XML文件C#存储XML文件 实践小项目必备知识点XML序列化(不支持字典)XML反序列化IXmlSerializable接口让Dictionary支持序列化反序列化 数据持久化XML概述 什么是…

Docker入门指南:Docker镜像的使用(二)

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 在本章节中,将深入探讨 Docker 镜像的概念,以及如何使用镜像的一系列操作。 📖 正文 1 什么是镜像 1.1 Docker镜像的简…

cocos=》带你全面、系统的了解周期函数(含源码分析)

目录 简介 第一 初步了解周期函数 第二 进一步认识周期函数 一、结合节点树来了解一下周期函数 二、节点激活、脚本组件启用 三、node.parent、setParent、addChild 与 周期函数 四、addComponent 与周期函数 五、exectionOrder 与 周期函数 第三 从源码中 学习周期函…

科学碳目标(SBTI)认证是什么?

科学碳目标(SBTI)认证是一种基于科学的减排目标认证和监测体系,旨在确保企业和国家制定的减排目标符合科学标准,并且能够实现全球气候目标的减缓效应。这个认证体系由全球碳项目和世界资源研究所(WRI)共同开…

如何判断自己是不是强迫型人格障碍?

什么是强迫型人格障碍? 强迫型人格,也叫强迫固执型人格,当某些强迫型行为严重影响到正常的生活,工作和人际关系,且具有长期稳定的持续性特征,即是强迫型人格障碍。 这类思维和行为特征可以概括为&#x…

leetcode 1235

leetcode 1235 代码 class Solution { public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int n startTime.size();vector<vector<int>> jobs(n);for(int i0; i<n; i){jobs[i] …

【Anaconda】升级Anaconda Navigator提示JSONDecoderError,删除.condarc文件后搞定

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、报错&#xff1a;JSONDecoderError二、错误原因三、解决问题总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 时间长未升级Ana…

本地搭建springboot服务并实现公网远程调试本地接口

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

2024/5/9 QTday4

完成定时器制作 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);connect(&timer2, &QTimer::timeout, this, &Widget::label_begin);connect(&…

数据库(MySQL)—— 索引

数据库&#xff08;MySQL&#xff09;—— 索引 什么是索引创建索引使用 CREATE INDEX 语句使用 ALTER TABLE 语句在创建表时定义索引特殊类型索引注意事项 举个例子无索引的情况有索引的情况为什么索引快索引的结构 今天我们来看看MySQL中的索引&#xff1a; 什么是索引 MyS…