当前位置:网站首页>【C语言—零基础第十四课】变量的作用域与存储类
【C语言—零基础第十四课】变量的作用域与存储类
2022-07-17 05:04:00 【Super大雄】
前言
博主:Super大雄 (萌新博主一枚)
C语言专栏:0基础学C语言专栏
LeetCode专栏:LeetCode专栏
本期是关于变量的作用域与存储类,如有错误请指出谢谢!
给小伙伴们推荐个学习、刷题的网站?
各种面试题应有尽有,刷题刷到你手软!
各种互联网学习资料,各个大厂面试真题从 零基础开始学习,帮你轻松应对各类面试题目,快来充实一下自己吧!
目录
什么是作用域?
作用域就是说到在哪里可以使用在哪里不可以使用。例如你是一家公司的老总,手下的人都听你指挥。而你出了公司去别的公司调研别的公司的人也听从你的指挥吗?你也不给人家发工资人家为啥要听你指,大致就是这么个意思。如果你开了几十个公司,到这几个公司去他们也听你的。孩子不要在幻想了,好好敲代码把。
作用域:所谓作用域就是变量的有效范围。
变量可以分为:局部变量和全局变量
局部变量
而在前边我们的使用都是只main()方法中实现的代码,指在main()函数中有效可用,即局部变量。
定义变量可能的三种情况:
在函数的开头定义
在函数内的复合语句中定义
在函数外部定义
在函数开头定义的只在本函数中有效}括号内部有效,在复合语句中定义的只在符合语句中有效}括号中。
总结:作用域自定义位置起,到复合语句或函数的结束。{}中有效
#include<stdio.h>
main() {
int a = 1,b = 2;
{
int a = 3;
printf("%d\n",a);
}
printf("%d\n", a);
}结果:
3
1
#include<stdio.h>
void fun() {
int a = 10;
printf("%d\n", a);
}
main() {
int a = 1,b = 2;
fun();
printf("%d\n",a);
}结果:
10
1
全局变量
在函数外部定义的变量称为全局变量。
作用域为自定义位置起,到整个程序的结束。
#include<stdio.h>
int a = 10;
main() {
{
int a = 1,b = 2;
printf("%d\n",a);
}
printf("%d\n", a);
}结果:
1
10
变量的存储类
自动型:auto
函数中的局部变量,默认都是动态分配存储空间的,在调用该函数时系统会给这些变量分配存储空间,函数调用结束时就自动释放存储空间。这类局部变量成为自动变量。用关键字auto。
Auto int a
存储类 类型名 变量名
auto int a;静态型:static
希望函数中的局部变量的值在函数调用解释后不消失而保留原值,即其占用的存储单元不释放,这类局部变量成为静态局部变量。
static a; for (int i = 0;i < 5;i++) {
static a= 0;
a++;
printf("%d\n", a);
}结果:
1
2
3
4
5
总结:
auto自动型,默认类型
register容器类型(这个不太重要,就没有解释)
static静态类型、内部变量、内部函数(无法取地址)
extern 声明外部变(后边会说到)
动态存储方式与静态存储方式
从变量值的生存期的角度划分,可以分为静态存储方式和动态存储方式。
静态区:
变量类型:静态局部变量、全局变量或外部变量、
初始化在编译阶段性下,初值为0
生存周期:整个程序
动态区:
变量类型:动态变量
初值为随机值
生存期:他所存在的的局部变量
给小伙伴们推荐个学习、刷题的网站?
各种面试题应有尽有,刷题刷到你手软!
各种互联网学习资料,各个大厂面试真题从 零基础开始学习,帮你轻松应对各类面试题目,快来充实一下自己吧!
边栏推荐
猜你喜欢

First training notes of moderlarts

RestClient操作文档

MySQL fuzzy matching 1, 11111 similar string problems

Sleuth getting started

FanoutExchange交换机简单使用

CVE-2021-44228 Log4j 复现及原理

Feature extraction of machine learning (digitization and discretization of category features and digitization of text features)

读论文《SNUNet-CD: A Densely Connected Siamese Network for Change Detection of VHR Images》

POC——DVWA‘s SQL Injection
![[2022 10th Teddy Cup Challenge] Title A: complete version of pest identification (general idea. Detailed process and code and results CSV in compressed package)](/img/e6/beea0bb0a9f4b41206c6fcb130fdfd.png)
[2022 10th Teddy Cup Challenge] Title A: complete version of pest identification (general idea. Detailed process and code and results CSV in compressed package)
随机推荐
CVE-2022-23131 Zabbix SAML SSO认证绕过漏洞
数据分析与数据挖掘实战案例本地房价预测(716):
MySQL takes the union of two query conditions and then queries
02_电影推荐(ContentBased)_用户画像
Feature extraction of machine learning (digitization and discretization of category features and digitization of text features)
Elment UI usage
es的一些概念
Harmonyos入门
Order system of middle office
决策树原理和案例应用-泰坦尼克号生存预测
02_電影推薦(ContentBased)_用戶畫像
Yiwen takes you to know about haproxy
The difference between junit4 and junit5
Cve-2022-23131 ZABBIX SAML SSO authentication bypass vulnerability
02_ Movie recommendation (contentbased)_ User portrait
Redis installation
Flask的使用
基于SSM框架的考勤签到请假系统
POC——DVWA‘s File Upload
User login - and create SMS verification code