在程序中经常会使用到变量,在C程序中可以选择变量的不同存储形式,其存储类别分为静态存储和动态存储。可以通过存储类别修饰符来告诉编译器要处理什么样的类型变量,具体主要有自动(auto)、静态(static)、寄存器(register)和外部(extern)4种。
一、静态存储与动态存储
根据变量的产生时间,可将其分为静态存储和动态存储。
静态存储是指程序运行时为其分配固定的存储空间,动态存储则是在程序运行期间根据需要动态地分配存储空间。
二、auto变量
auto关键字用于定义一个局部变量为自动的,这意味着每次执行到定义该变量时,都会产生一个新的变量,并且对其重新进行初始化。
关键字auto时可以省略的,如果不特别指定,局部变量的存储方式默认为自动的。
#include <stdio.h>
#include <stdlib.h>
void add_one(void)
{
auto int num = 1; /*定义auto整型变量*/
num = num + 1; /*变量加1*/