当我按照以下方式进行操作时,代码可以正常工作:
#include <stdio.h>
void test( int a)
{
printf("a=%d\n",a);
}
int main()
{
test(10);
return 1;
}
但是当我这样做时
#include <stdio.h>
void test( auto int a) // Or static int a Or extern int a
{
printf("a=%d\n",a);
}
int main()
{
test(10);
return 1;
}
它会产生错误,
错误:为参数“a”指定的存储类
为什么会出现这个错误?内部发生了什么(内存管理)?
但是当我这样做时它可以正常工作,没有任何错误:
void test( register int a)
{
printf("a=%d\n",a);
}
这是为什么?