C语言作用域和存储期简单介绍

1.作用域
函数跨文件声明的时候可以不写 extern,变量需要在前面写 extern
如果函数或者变量前面添加 static,作用域会被限制在本文件中
2.存储期
(1)自动存储期

在栈内存中分配的变量,统统拥有自动存储期,因此也都被称为自动变量。

(2)静态存储期

在数据段中分配的变量,统统拥有静态存储期,因此也都被称为静态变量。这里静态的含义是,指的是这些变量不会因为程序的运行而发生临时性的分配和释放,他们的生命周期是恒定的,跟整个程序一致。

(3)自定义存储期

使用malloc 或者 calloc 函数申请空间,然后使用free释放空间:存储期就在这中间。free只能够释放堆空间

你可能感兴趣的:(c语言)