Почему размер массива равен 1 [дубликат]

Possible Duplicate:
Sizeof an array in the C programming language?

Я пытаюсь написать функцию, которая возвращает 1, если значение находится в массиве. Вот код:

int inArrayInt(int iVal, int iArray[])
{
    int i;
    int arrayL = sizeof(*iArray) / sizeof(int);
    int flag = 0;
    for(i=0; i < arrayL; i++)
    {
        if(iVal == iArray[i])
        {
            flag = 1;
        }
    }
    return flag;
}

Проблема в том, чтоarrayL = sizeof(*iArray) / sizeof(int); всегда оценивается в 1, даже если массив содержит 20 элементов. Зачем?

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

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