Очень хороший ответ, с объяснением обоснования. :-)
я делаю, как показано ниже, код работает нормально:
#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);
}
Это почему?