Нефть Чарльзуорт, похоже, прав.Причина этого заключается в том, что при компиляции определенный объем памяти выделяется (выделяется) для этого массива независимо от того, содержит он данные или нет.Поэтому использование такой команды, как sizeof (a), всегда даст один и тот же результат.Он вернет количество байтов, выделенных для вашего массива.В этом случае размер массива составляет 40 байт, что имеет смысл, поскольку длина обычно составляет 4 байта * длина массива (10) = 40.
Это может отличаться от ПК к ПК, хотя, по крайней мере, это то, что яНекоторое время назад прочитайте учебник, кажется, что выделенный размер для каждого типа переменной несколько отличается от ПК к ПК (или от ОС к ОС).
Это не сильно помогает, я знаю, но теперь вы, по крайней мере, знаетепочему вы не можете сделать это с необработанными массивами.