Можно создать дубликат:
Sizeof array passed as parameterИспользование SizeOf массивов, переданных в качестве параметров
Учитывая функции ниже, я понимаю, что SizeOf возвращает размер указателя типа в массиве.
int myFunc(char my_array[5])
{
return sizeof(my_array);
}
Однако вызов sizeof из массива, который не передается как параметр, обычно возвращает размер массива.
В чем причина этой непоследовательности? Каков наилучший способ получить размер массива при его передаче в качестве параметра?
'полукокса [5] my_array' не является допустимым декларатором. –
См. [Размер массива, переданный как параметр] (http://stackoverflow.com/questions/1328223/sizeof-array-passed-as-parameter) –
[related FAQ] (http: // stackoverflow.com/questions/4810664 /) – fredoverflow