звучит логично, но как он это делает?
Посмотрит на тип
sizeof(Type) * count
А count откуда берет?
ну это известное на этапе компиляции число
ниоткуда. Если в функции.
Игорь, ты-то про что спрашивал? Я тебя не так понял что ли?
В функции вроде я разобрался что при передаче идёт приведение типа и теряется информация о размере массива, теперь если из main интересно как sizeof работает.
компилятор при анализе исходника выведет размер, если ты его не указал как в примере выше он по кол-ву элементов в инициализации посчитает
https://godbolt.org/z/vMeh9T
Ну переменная же там объявлена, её размер компилятор всегда знает. Размер либо указан явно, либо вычисляется из инициализатора, если размер явно не указан. Инициализатор во втором случае обязателен
Обсуждают сегодня