Förklaring av pekare och funktioner
Hej,
är väldigt ny till programmering och skulle vilja få lite hjälp att bena ut begreppet pekare. Just nu är det rätt obegripligt.
T.ex ovanstående kod sorterar ut det största talet i en array. int *m är som en pekare och pekar på minnesadressen (enligt koden) i arrayelementet a[0]. Är det rätt?
Därefter hittar vi det största värdet i arrayen genom en for-loop. Sedan anropar vi det största värdet i arrayen i vår max-funktion som ligger i main:et med &largest. Ifall det stämmer, är då *m = &largest?
Tacksam för hjälp!
Jag kan väl tycka att det är snyggare att skriva:
int main(void)
{
...osv.
max (8, &a[0], &largest);
...osv.
}
void max(int n, int *array, int *larg)
{
*larg = *array;
..osv.
return(void);
}
int *m är en pekare i funktionen max(). *m pekar vid funktionsanropet på minnesadressen till variabeln largest.
Nä, men m = &largest (adressen till largest) och *m (variabeln largest) får värdet 78 efter funktionsanropet till max()
Fungerar "return(void)"?
Laguna skrev:Fungerar "return(void)"?
Tveksamt...return()...eller har du något förslag?
Kan du C? Bara "return" kan man skriva, men sist i funktionen behövs det inte.
Tack, blev tydligare nu!