当前位置:网站首页>【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
生存周期:整个程序
动态区:
变量类型:动态变量
初值为随机值
生存期:他所存在的的局部变量
给小伙伴们推荐个学习、刷题的网站?
各种面试题应有尽有,刷题刷到你手软!
各种互联网学习资料,各个大厂面试真题从 零基础开始学习,帮你轻松应对各类面试题目,快来充实一下自己吧!
边栏推荐
猜你喜欢

【C】张梁计算器

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

ModelArts第二次培训笔记

Shallow chat link tracking

Use of flask

HarmonyOS第四次培训笔记

MD5 password encryption

Harmonyos third training notes

Implementation idea of log adding to database

【Batch】批量删除中间文件夹-个人研究脚本
随机推荐
Teddy Cup title a full version optimization update (4/23)
User management - paging
HarmonyOS第四次培训笔记
MySQL fuzzy matching 1, 11111 similar string problems
POC——DVWA‘s File Upload
数据库实训7【索引与数据完整性约束的创建】
Basic operations of index library operation
TopicExchange交换机简单使用。
Database training 7 [index and creation of data integrity constraints]
Install MySQL
学习C语言的第五天
IDL MODIS 生成查找表
RestAPI
图片上传的逻辑
DSL搜索结果处理,包括排序,分页,高亮
游玩数据获取与数据分析、数据挖掘 【2022.5.30】
IDL 6S查找表
Mysql database experiment training 6, data view (detailed)
Harmonyos fourth training notes
MYSQL数据库表A数据同步到表B