首先从静态变量说起. C语言里面静态变量有三种: 分别是外部链接性,内部链接性和无链接性.
声明外部链接的变量的方法是在代码块外面声明它. 此变量是全局变量,多文件中亦可用.
声明内部链接的变量的方法是在代码块外面声明它并加上static限定符. 此变量是全局变量,但仅在本文件中可用.
声明无链接的变量的方法是在代码块里面声明它并加上static限定符. 此变量是局部变量,但仅在本代码块中可用.
例:
#include<...........>
int global=1; //声明外部链接的变量
static int global2 //声明内部链接的变量
int func()
{
int global=5; //声明的内部变量和全局变量重名,调用时将会隐藏全局的global;
cout<<global; //是内部定义的global的值而不是外面的值.
//如何引用外面的变量呢???
cout<<::global; //可用作用域解析符(::)来说明你要输出的外面的全局变量.
static int global3; //声明无链接的变量
}
int main()
{
extern int alobal; //在本文件中此句可选.此句的意思为你需要引用外部的变量global;
global=8; //直接引用全局变量.
}

https://zhidao.baidu.com/question/2267299973400362988.html

转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11447059.html

C语言里面具有外部链接的静态变量这里的链接是什么意思相关推荐

  1. c语言查看变量类型_c语言外部链接的静态变量的四种类型

    体系结构计划 外部链接的静态变量具有文件作用域.外部链接和静态存储期.该类别有时称为外部存储类别(external storage class),属于该类别的变量称为外部变量(external var ...

  2. C/C++内部链接的静态变量、多文件和存储类别说明符

    该存储类别的变量具有静态存储期.文件作用域和内部链接. 在所有函数外部(这点与外部变量相同),用存储类别说明符static定义的变量具有 这种存储类别: static int svil = 1; // ...

  3. c语言静态变量存在堆还是栈,c 类 static 函数 什么样是静态变量?嵌入式C语言的堆栈管理如何实现...

    C语言中静态变量是什么意思,有什么作用,static在数据类型前面表示什么 最近刚看了C存储类的章节.所以来说说. C语言为变量提供了⑤种不同的存储模型,或者说是存储类. ①个变量可以用存储时期描述, ...

  4. 深入理解C语言系列之内存和地址的故事(虚拟内存分区、全局变量与静态变量、外部函数内部函数、选择性编译)

    文章目录 一.内存的分区 二.虚拟内存分区 三.变量作用域与静态变量 四.外部函数与内部函数 五.include与define选择性编译 一.内存的分区 1.内存分为:物理内存和虚拟内存. 物理内存︰ ...

  5. C语言 static 声明静态变量?大佬原来用它干这事!

    C语言可变参数只会用算啥本事?看我来抽丝剥茧干翻它! 高手在写代码的时候,会特别注重的一点就是,对外的方法对外,不对外的方法和数据,都是让其对外不可见,也就是俗称的,内部不想让别人直接访问的方法,变量 ...

  6. c语言staticint的作用,C语言 static 声明静态变量?大佬原来用它干这事!

    原标题:C语言 static 声明静态变量?大佬原来用它干这事! C语言可变参数只会用算啥本事?看我来抽丝剥茧干翻它! 高手在写代码的时候,会特别注重的一点就是,对外的方法对外,不对外的方法和数据,都 ...

  7. 【Linux】磁盘结构/文件系统/软硬链接/动静态库

    文章目录 前言 一.磁盘结构 1.磁盘的物理结构 2.磁盘的存储结构 3.磁盘的逻辑结构 二.文件系统 1.对 IO 单位的优化 2.磁盘分区与分组 3.对分组的具体管理方法 4.文件操作 三.软硬链 ...

  8. Linux-动态链接与静态链接对比(动态库和静态库)

    博客转载自:Linux-动态链接与静态链接对比 一.库的基础概念: 在windows平台和linux平台下都大量存在着库.本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.由于wi ...

  9. ios 静态库合成_iOS链接原理解析与应用实践

    在iOS App开发中,程序的链接是由Xcode中自带的LLVM来帮助我们完成的,程序员们也因此更注重业务逻辑的编写.但其实了解链接的原理能让我们对iOS的底层有更深层次的认识,也有助于我们从底层原理 ...

最新文章

  1. 毫米波雷达基本技术与应用
  2. js实现的时间轴效果
  3. ExtJS中给Tree节点加click事件
  4. 第10课:动手实战基于 CNN 的电影推荐系统
  5. labview实例_手把手以实例教你学LabVIEW编程,事件结构框架
  6. sql怎么读_mysql由于快照读,造成数据混乱,该如何解决
  7. int sel 在c语言表示,C语言教程ch1初识C程序.ppt
  8. OpenCV-图像处理(28、轮廓发现(find contour in your image))
  9. ## python爬取MM131整站图片到本地
  10. 《算法的乐趣》终于出版了
  11. 带你玩转软件项目测试管理——项目研发管理模式(一)
  12. iOS部分版本默认没有允许 app 访问蜂窝移动数据
  13. 基于微信小程序的游戏账号交易小程序
  14. Word处理控件Aspose.Words功能演示:用Java从Word文档中提取文本
  15. socket.io实现聊天功能——第一章 、群聊
  16. 微软sus服务器搭建,规划和部署 Exchange Server
  17. Linux 桌面玩家指南:16. 使用 CUDA 发挥显卡的计算性能
  18. USB PD 3.0快充 (Power Delivery )
  19. 实时即未来,车联网项目之电子围栏分析【六】
  20. 松散架构(Loosely Coupled Architecture)

热门文章

  1. 自然语言处理中的语言模型与预训练技术的总结
  2. GPT(Improving Language Understandingby Generative Pre-Training) 论文笔记
  3. 神经网络-损失函数-等高线理解
  4. 树莓派安装python2.7_树莓派3 + raspbian lite + OpenCV 3 环境搭建
  5. 【高斯和拉普拉斯为什么分别对应L2和L1?】差分隐私系统学习记录(五)
  6. 工控系统安全测试平台及攻防验证【会议】
  7. 拉氏变换及复域传递函数
  8. Ubuntu系统全盘备份与恢复,亲自总结,实测可靠
  9. 使用ffmpeg捕获USB外部摄像头视频流
  10. c语言 printf_C语言(4) 屏幕输出指令printf