Dlaczego rozmiar tablicy wynosi 1 [duplikat]
Możliwy duplikat:
Rozmiar tablicy w języku programowania C?
Próbuję napisać funkcję, która zwraca 1s, jeśli wartość jest w tablicy. Oto kod:
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;
}
Problemem jestarrayL = sizeof(*iArray) / sizeof(int);
zawsze ma wartość 1, nawet jeśli tablica zawiera 20 elementów. Czemu?