Qubc
@Qubc

Почему нет ошибки при переобъявлении переменной, которая уже объявлена в подключаемом файле?

/*test.h*/
int a;

/*main.c*/
#include "test.h"
int main (void) {
int a;
a++;
return 0;
}

Почему это не считается за redeclaration ?
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
15432
@15432
Системный программист ^_^
Области видимости разные ж. Одна внутри функции, другая глобальная.

И делая a++ вы инкрементите только временную локальную переменную.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 120 000 ₽
Кликнет Санкт-Петербург
До 150 000 ₽
Технология Екатеринбург
от 100 000 до 200 000 ₽