C语言深刨_关键字2——static sizeof

文章目录

    • 多文件问题
    • static
      • static修饰全局变量和函数
      • static修饰局部变量
    • 局部变量就是“临时的”,全局变量就是“全局的”?
    • sizeof

多文件问题

全局变量和函数
在另一个文件定义的函数能在其他文件中使用吗?可以的C语言深刨_关键字2——static sizeof_第1张图片

在另一个文件定义的全局变量能在其他文件使用吗?可以的
C语言深刨_关键字2——static sizeof_第2张图片从上面来看得出函数和全局变量可以跨文件使用但是必须声明
加下来看看声明之后
C语言深刨_关键字2——static sizeof_第3张图片
声明之后是没有错误,但是这样子声明是不是有些麻烦
看下面
C语言深刨_关键字2——static sizeof_第4张图片
为什么要使用头文件呢?
在单纯的使用源文件,当项目组织的越大时,维护的成本就很高;
.h的头文件大大减少了维护的成本,有什莫改动的在头文件改,避免一改全改

但是又出现一个问题呀,你头文件多次被源文件使用,就会出现重复包含呀,如何解决呢?
C语言深刨_关键字2——static sizeof_第5张图片来包含这个

static

static修饰全局变量和函数

C语言深刨_关键字2——static sizeof_第6张图片
由此看出static修饰的全局变量与函数不可以跨文件使用

C语言深刨_关键字2——static sizeof_第7张图片static修饰的全局变量和函数能在本文件内使用
static修饰全局变量,和函数,只是改变了他们的作用域,没有改变生命周期

static修饰局部变量

C语言深刨_关键字2——static sizeof_第8张图片
C语言深刨_关键字2——static sizeof_第9张图片
static 修饰局部变量,修改的是生命周期,作用域没有变
C语言深刨_关键字2——static sizeof_第10张图片
作用域是没有变的,只是生命周期变了

局部变量就是“临时的”,全局变量就是“全局的”?

C语言深刨_关键字2——static sizeof_第11张图片
总的来说:就是局部变量和全局变量不是在一个地方的,所以他们的生命周期就不一样

sizeof

sizeof就是求类型大小的,单位字节
定义一个变量本质上实在内存开辟一块空间,用来保存数据,定义变量是有类型的,所以,每个类型的大小也不一样
C语言深刨_关键字2——static sizeof_第12张图片

你可能感兴趣的