C语言static的用法你搞懂了吗?(c语言零基础就可以看懂)

13 篇文章 0 订阅
订阅专栏

1.修饰局部变量

当修饰局部变量时, static 是把一个数据从栈区上移到静态区的,静态区的变量是在程序结束后才释放。(如果你不理解静态区、栈区,请看下图)
在这里插入图片描述
上图中我们可以看到 printf(“%d”,a); 编译器在这里报错了
这是因为,没有找到变量 a
这里我们可以得出:static 只是修改了变量的生命周期 ,没有修改变量作用域!!

2.修饰全局变量

全局变量本身是具有外部链接属性的,如在 A 文件中创建的变量,通过“链接”(extern)可以在 B 文件中使用
extern 的作用是声明外部符号
如下图:
在这里插入图片描述
当修饰全局变量时,static 会修改全局变量的作用域,这个变量就只可以在当前直接所在的源文件内使用了。
static的修饰,会把全局变量的属性变成内部链接属性,最终使得全局变量的作用域变小了
如下图
在这里插入图片描述
当给 int a =0; 加上 static 时
这个程序就编译不过去了

所以static在修饰全局变量时,会该它的作用域,使它只能在当前文件中使用

3.修饰函数

函数在外部文件的使用方法有两种:
一种是extern 在外部文件中声明函数。
一种是在外部文件中,引用函数所在的文件,#include “函数所在的文件” ,这种方法最好引用头文件,不要去引用其他文件。
所以我们这里只用extern,在外部文件中声明函数
static修饰函数与修饰全局变量,有很多相同点
比如:
在这里插入图片描述
没有用static修饰时也可以在外部文件中使用
当被static修饰后就只能当前文件中使用了
比如:
在这里插入图片描述
所以stastic修饰函数,使函数只能在源文件内部使用,无法在其他源文件中使用

总结

static修饰局部变量:使局部变量生命周期延长,但它并不等于全局变量。
static修饰全局变量:缩短了全局变量的作用域,使它只能在当前文件中使用。
static修饰函数:缩短了函数的作用域,使它只能在当前文件中使用。

C语言扫盲】关键字static究竟限制了谁?
一个专注于嵌入式IoT领域的架构师,深耕IoT领域多年,深度掌握IoT领域的相关技术栈,包括但不限于RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、嵌入式IoT系统的架构设计等。
07-24 8262
这是一个有趣的话题,虽然说教科书给了你一些说法,但你真正能把static说清楚吗?本文将通过一个案例,给大家做一个深度的拆解分析。
一文搞懂C语言如何用指针来代替变量和数组进行数据的存储
爱吃雪糕的小布丁的博客
10-15 7620
既然未初始化的指针指向的地址是随机的,那么就可以用这个地址来存储数据。我们定义了未初始化的指针之后,可以用malloc函数,为这个指针分配空间。即,指针就会指向该空间的首地址。如果这个空间大小刚好是n个int类型的大小的话,这个指针就相当于一个大小为n的int数组,可以用来存储数据。这种方式,就不是野指针的用法了,提倡大家用这种方法。但是所存储的数据大小最好不要超过分配的空间的大小,不然就和野指针一样,可能会发生内存安全问题,导致异常终止。1、指针可以作为数组用,数组号表示指针基地址偏移。
C语言 | static静态变量
weixin_48669767的博客
02-19 1323
例87:学习C语言static定义静态变量的用法。 解题思路:在C语言中,static 不仅可以用来修饰变量,还可以用来修饰函数,使用 static 修饰的变量,称为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。 C语言源代码演示: #include<stdio.h>//头文件 int main()//主函数 { void varfunc(); //函数声明 int i;//定义整型变量 for(i=0;i<3;i++)//3次循环 { v
c语言static 用法总结
码农之道
12-04 719
一、c程序存储空间布局 C程序一直由下列部分组成:       1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;       2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。       3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。       4)栈——增长方向:
c语言static关键字用法详解
热门推荐
guotianqing的博客
04-05 68万+
概述 static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。 但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就staticc语言中的应用进行总结,供参考使用。错漏之处,请不吝指正。 在程序中使用static 变量 1. 局部变量 普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰...
staticc语言中的用法
菜鸡的博客
05-19 2774
staticc语言中的三种简单用法c语言中: static用来修饰变量和函数 1.修饰局部变量-静态局部变量 2.修饰全局变量-静态全局变量 3.修饰函数-静态函数 修饰局部变量 //代码1 #include<stdio.h> void test() { int i=0; i++; printf("%d ",i); } int main() { for(i=0;i<...
staticC语言中的用法
fengjinghuanian的博客
10-21 4382
C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 复制代码代码如下: char a = 'A'; // global v...
你真的了解C语言中的整型吗?
小杰码匠
05-20 1413
整型数据类型 1. 整型数据类型   在上一节当中,我们遇到了整型(integer)int,用来表示一个整数的数据类型。   下面呢我们来讨论一下C语言里面的整数数据类型。 类型名称 C语言中的关键词 注释 短整型 short 用于表示一个不怎么大的整数 整型 int 生活中一般的整数都可以表示 长整型 long 较大的整数 加长整型 long long 非常大的整数   看到这里你可能想问,一个整数而已,为什么会需要定义这么多的类型出来呢?   要知道在发明C语言的年代,
C语言基础
m0_58290212的博客
08-10 3962
C基础知识概述,(指针单独一篇)
C语言基础知识
qq_74748435的博客
02-13 288
C语言基础知识
C语言static作用
猪哥的专栏
08-05 3692
C语言中,static的字面意思很容易把我们导入歧途,其实作用有三条: (1)第一条也是最重要的一条:隐藏 当我们同事编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,举例来说:同时编译2个源文件:a.c和main.c 下面是a.c的内容 char a = 'A'; // global variable int msg()  {     printf("
static用法C语言
qq_61499350的博客
04-20 2043
探讨static用法及其原理。
c语言static用法
王强的专栏
11-29 939
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用。本文只介绍c中的使用(1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 一、局部静态变量 在C/C++中, 局部变量按照存储形式可分为三种auto, static, register 与auto类型(普通)局部变量相比, static局部变量有三
C语言-static用法
最新发布
hmh520i的博客
06-04 8019
C语言-static用法
C语言中Stastic变量
yy105419的博客
01-30 1615
函数内部变量,让一个变量长期有效,而不管其是在什么地方被申明。比如:           int fun1()           {               static int s_value = 0;           s_value++;           }          那么fun1不管在什么地方被调用,当函数退出后,s_value最
C语言static的使用
小小小小的专栏
04-30 2236
开发过程中,我们经常会需要定义一些static类型的变量或者函数,我们接下来来具体聊一下static; 1、修饰变量      当static来修饰一个变量时,就注定了这个变量的可见范围和生命周期;      (1)当修饰全局变量时              static int flag1 = 0;              int flag2 = 0;              
C语言static用法(修饰局部变量,修饰全局变量,修饰函数)
m0_53558236的博客
08-08 1万+
static 关键字有三种用法 static 修饰局部变量 - 静态局部变量 static 修饰全局变量 - 静态全局变量 static 修饰函数 - 静态函数 static 关键字的三种用法1. static 修饰局部变量 - 静态局部变量2. static 修饰全局变量 - 静态全局变量3. static 修饰函数 - 静态函数 1. static 修饰局部变量 - 静态局部变量 static可使得局部变量出了自己的范围也不会销毁,本质上是改变了局部变量的生命周期,但其作用域还是局部的。 详细点说,
零基础小甲鱼C语言学习资源打包下载
零基础的学员可以通过这个资源,从变量和数据类型的基础概念开始,逐步学习控制结构(如循环和条件语句)、函数和数组的使用,再到指针、内存管理和文件操作等高级主题。 资源提供者分享了多个下载链接,方便用户...
写文章

热门文章

  • C语言找鞍点(详细讲解) 13943
  • c语言求数组中10 个整数中最大值 12945
  • c语言详细解答辗转相除法求两个数的最小公倍数 5718
  • 输出100 - 200之间的素数C语言 4487
  • 让你C语言学完分支和循环就能写出猜数字小游戏 1688

分类专栏

  • leetcode刷题 4篇
  • 数据结构初阶---C 8篇
  • C++学习 9篇
  • 初级C语言知识点 13篇
  • Linux学习 1篇
  • C语言小游戏 3篇
  • C语言--进阶 4篇
  • C语言练习题 9篇

最新评论

  • 数据结构——C语言单链表的实现

    CSDN-Ada助手: 推荐 C 技能树:https://edu.csdn.net/skill/c?utm_source=AI_act_c

  • c语言详细解答辗转相除法求两个数的最小公倍数

    专科在努力!: 有if判断的,如果后面的大于前面的数,两个数就交换了

  • C语言找鞍点(详细讲解)

    Andy_also: 25j不是等于0吗

  • c语言详细解答辗转相除法求两个数的最小公倍数

    紫须上人.: 哥们你除数被除数是不是写反了

  • 类与对象(中)

    小余要努力: 望回关表情包表情包表情包表情包

大家在看

  • 数据库和mysql简介 105
  • 黑马三浪均线技术战法,一浪放量吸筹,二浪洗盘后,三浪回踩中期线拉升主升浪
  • 【Linux 从基础到进阶】 Google Cloud Platform 配置与管理
  • 6.数据库-数据库设计
  • C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)

最新文章

  • 环形链表问题——力扣141,142
  • 数据结构——C语言单链表的实现
  • C++模板初阶
2024年5篇
2023年18篇
2022年26篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专科在努力!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家商丘玻璃钢人物雕塑价格海南省玻璃钢人物雕塑淄博玻璃钢雕塑制品乐山玻璃钢广场雕塑价格玻璃钢马雕塑定制北京玻璃钢海洋雕塑宿州景区玻璃钢雕塑安装深圳透光玻璃钢雕塑造型昆山十一商场美陈郑州美盛商场陈寨洛阳玻璃钢现代雕塑泌阳玻璃钢雕塑设计汕尾古代玻璃钢雕塑泉州玻璃钢雕塑工厂脱模蜡长沙服务好的玻璃钢花盆定制洛阳不锈钢仿古玻璃钢仿铜雕塑公园玻璃钢人物雕塑厂家承德景观玻璃钢雕塑制作济源天桥玻璃钢花盆价格湖北创意玻璃钢雕塑方法柘城玻璃钢雕塑设计玻璃钢喜鹊雕塑德阳玻璃钢艺术雕塑厂玻璃钢人物雕塑收费情况东莞玻璃钢花盆制作北京玻璃钢雕塑摆件供货商商场中庭炫彩吊球美陈工厂云南环保玻璃钢雕塑方法娄底市玻璃钢雕塑定制浅谈艺术壁饰在商场美陈的应用香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化