Arrays and pointers
Në shqip: Vargjet dhe pointer-ët
ShpjegimiSQ
Në C, kur ia jep një varg një funksioni, ai „shndërrohet“ në pointer drejt elementit të parë — funksioni s'e di më sa elemente ka. Prandaj në C gjithmonë ia kalon madhësinë si parametër të veçantë.
EnglishEN
In C, when you pass an array to a function, it “decays” into a pointer to the first element — the function no longer knows how many items there are. That's why in C you always pass the size as a separate parameter.
Si ta mendosh
Si t'i japësh dikujt vetëm adresën e shtëpisë së parë në rrugë: e di ku fillon rruga, por jo sa shtëpi ka.
Lexoje në anglisht
Like giving someone only the address of the first house on a street: they know where it starts, but not how many houses there are.
Shembull kodic
double mesatarja(int *notat, int n) {
int shuma = 0;
for (int i = 0; i < n; i++) shuma += notat[i];
return (double)shuma / n;
}