//basic.c
#include <stdio.h>
//auto int x; //全局变量只能为satic变量,
//register int y;
extern int g;
//extern int g_0;
extern int fun_g(void);
void func1(void)
{
int temp = 0;
temp++;
printf("fun1=%d\n", temp);
}
void func2(void)
{
static int temp = 0;
temp++;
printf("fun1=%d\n", temp);
}
int main()
{
auto int i;//auto 可以不写
register int j;//请求寄存器变量 不一定成功
static int k;
printf("%x\n", &i);
//printf("%x", &j);//j变量不是在内存中 而是在寄存器 编译报错
printf("%x\n", &k);
for(i = 0; i < 5; i++)
{
func1();
}
printf("\n");
for(i = 0; i < 5; i++)
{
func2();
}
printf("number g in test.c = %d\n", g);
//printf("number in test.c = %d", g_0);//报错 提示未定义
printf("number g_0 in test.c = %d\n", fun_g());
return 0;
}
//test.c
int g = 1;
static int g_0 = 1;
int fun_g(void)
{
return g_0;
}
auto register static分析
最新推荐文章于 2024-07-18 11:41:04 发布