Использование sizeof для массивов, переданных в качестве параметров [duplicate]

Возможный дубликат:
Размер массива передается как параметр

Учитывая приведенную ниже функцию, я понимаю, что sizeof возвращает размер указателя типа в массиве.

int myFunc(char my_array[5])
{
    return sizeof(my_array);
}

Однако вызов sizeof для массива, не переданного в качестве параметра, обычно возвращает размер массива.

Что вызывает это несоответствие? Каков наилучший способ получить размер массива, когда он передается в качестве параметра?

Ответы на вопрос(4)

Ваш ответ на вопрос