zoukankan      html  css  js  c++  java
  • C语言基础:C语言static和extern(2)

    上一节, 我们讲解了staticextern对于函数的作用, 这次我们来讲解staticextern对于变量的作用.


    首先, 我们来看一个例子:



    输出的结果:




    有人会疑问, 为什么我在main.c文件里面定义的全局变量会和在one.c文件里面的全局变量的输出结果和地址是完全一样的呢?



    其实原因很简单, 一般来将, 只要我们没有特定写明全局变量是内部的, 那么默认就会把这个全局变量当成是外部变量, 而两个外部变量都是可以重复定义的, 编译器不会报错, 所以它们输出的结果和地址是完全一样的, 那如果我要他们不一样呢? 我们继续往下看:



    输出的结果:



    只要在全局变量之前加上static这个关键字, 那么这个全局变量就只能在本文件里面使用, 别的文件里面是不能调用, 所以它们的地址是不相同的.




    还有一个关键字extern, 其实在前面我们讲过, 我们可以忽略这个extern不写, 如果写上的话, 就是完整的定义一个外部变量, 不写也不会影响什么:



    输出的结果:



    刚开始接触的时候或许会有一些迷惑, 但大家回去多敲敲代码, 多实验, 那就明白是什么意思了~~~





    好了, 这次我们就讲到这里, 下次我们继续~~~

  • 相关阅读:
    添加搜索引擎
    理解隐马尔可夫模型(转载)
    全排列合集
    COM使用简介
    KMP算法
    遗传算法(转载)
    退火算法(转载)
    非电信手机获取闪讯密码的一种实现方法
    几个时间控制函数(转载)
    图像处理的Alpha通道
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282870.html
Copyright © 2011-2022 走看看