C - почему происходит переорпеделение если тип не указан?

Рейтинг: 0Ответов: 0Опубликовано: 12.02.2023

Почему выполняется данный пример и значение переменной "A" выводится как символьный тип? Т.е почему он из int делает ее char при том, что мы не инициализировали снова переменную с новым типом. Если будем пытаться инициализировать ее с указанием типа char - то тогда будет ошибка. Что происходит в памяти не совсем понимаю. Мы зарезервировали место под int сначала, как потом у нас это место меняется на char? Они же разного размера. Или это потому-что в памяти они хранятся (char) как число?

#include <stdio.h>

int main(void) {
  int A = 66;
      A = 'd';
  
printf("%c\n", A);    
  return 0;
}

Ответы

Ответов пока нет.