,,C语言static修饰函数详细解析

,,C语言static修饰函数详细解析

下面是对C语言中静态修饰符函数的详细分析和介绍。有需要的朋友可以过来参考一下。

在C语言中,static的字面意思很容易让我们误入歧途。其实它有三个作用。第一个也是最重要的一个介绍:隐藏。当我们同时编译多个文件时,所有不带静态前缀的全局变量和函数都具有全局可见性。要理解这句话,我举个例子。我们要同时编译两个源文件,一个是a.c,一个是main.c

下面是a.c的内容复制代码如下:char a=' A//global variable void msg(){ printf(' Hello \ n ');}以下是main.c的内容复制代码,代码如下:int main(void){ extern char a;//extern变量必须在使用printf('%c ',a)之前声明;(void)msg();返回0;}程序的运行结果是:A Hello

你可能会问:为什么在a.c中定义的全局变量A和函数msg可以在main.c中使用?如前所述,所有不带静态前缀的全局变量和函数都具有全局可见性,其他源文件也可以访问。在这个例子中,a是一个全局变量,msg是一个函数,它们都没有static前缀,所以它对另一个源文件main.c是可见的

如果添加了static,它将对其他源文件隐藏。比如在a和msg的定义前加上static,main.c就看不到了。这个特性可以用来在不同的文件中定义同名的函数和变量,而不用担心命名冲突。Static可以用作函数和变量的前缀。对于函数,静态仅限于隐藏。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: