Jak sprawdzić rozmiar tablicy DYNAMICZNEJ funkcją malloc()?
Wiem, że temat jest często poruszany przejrzałem ich kilkadziesiąt i nikt nie pomógł, lub jest w błędzie, mianowicie:
Po zaalokowaniu pamięci na tablicę, jej rozmiar to po prostu rozmiar samego typu z których składa się tablica, oto przykład:
void size(int tab[])
{
printf("%i parametr\n",sizeof(tab));
}
int main()
{
int *tab;
tab=(int *)malloc(10*sizeof(int));
printf("%i int\n",sizeof(int));
printf("%i wszystko\n",sizeof(tab));
size(tab);
system("pause");
return 0;
}
Wynik:
4 int
4 wszystko
4 parametr
I jak sprawdzić rozmiar całej tablicy?
Jak widać sprawdzone przeze mnie sposoby nie działają, każdy rozmiar to 4.
Z góry dziękuję za pomoc, na pewno pomoże to niejednej osobie!