//
#include <stdio.h>
/*
auto:自动变量,由编译器自动回收变量内存
static:静态变量,在程序运行期间只初始化一次,不随作用域的结束而销毁,生每周期从创建开始到程序执行结束,
如果没有对静态变量初始化,那么全局变量一样,将自动初始化为0;
register:寄存器变量,那么就不能对变量取地址;
extern:外部变量,全局变量默认就是extern的,如果不想在别的文件里能够被访问,那么加上static关闭外部的访问
static:内部变量
*/
void foo()
{
static int cnt = 0;//把变量声明为静态变量即可以
printf("cnt:%d\n", cnt++);
}
int main2()
{
foo();
foo();
register int i = 0;
//scanf("%d", &i); //error C2103:寄存器变量上的"&"
printf("t:%d\n", i);
for (int i = 0; i < 100; i++)
{
printf("t:%d\n", &i);
}
return 0;
}
extern int num;
int main()
{
printf("num = %d\n", num);
//printf("get():%d\n", get());
return 0;
}
// test.c
int num = 11;
static int get()
{
return 666;
}