весь размер массива, когда мы вызываем функцию мы лишь передаем указатель на 1 элемент массива, как он узнает всю длину? Как он сам определяет границу массива?
sizeof не знает размер массива, если передаешь туда указатель
Бэкенд компилятора
В случае когда массив -- параметр функции, sizeof не знает размер массива.
Если ты имеешь дело с реально массивом, или ссылкой на него, sizeof() знает его размер. Если ты передаёшь массив в фукнцию параметром, даже если там указан размер, то эффективно тип параметра -- указатель, а не массив, и размер этого "массива" sizeof не знает. Если размер указан, он игнорируется.
Обсуждают сегодня