Очень хороший ответ, с объяснением обоснования. :-)

я делаю, как показано ниже, код работает нормально:

#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);   
}

Это почему?

Ответы на вопрос(1)

Ваш ответ на вопрос