Avatar billede effo Nybegynder
24. oktober 2002 - 15:58 Der er 3 kommentarer og
1 løsning

Returnering af Array

Hey eksperter.

Spg. C i Linux

en given funktion skal returnere et array...
Hvordan gør man det:

eks. på noget der ikke virker

int [] funkt()
{
  int data [100];
  // noget kode
  return data;
}
Avatar billede slashdotdoek Nybegynder
24. oktober 2002 - 16:02 #1
brug pointere i stedet

int * funkt()
{
  bla[20];
  //noget bedre kode
  return bla;
}

}
Avatar billede arne_v Ekspert
24. oktober 2002 - 16:04 #2
1)  Ja - du skal returnere en pointer.

2) Du må *IKKE* retunere adressen på en lokal variable,
Avatar billede arne_v Ekspert
24. oktober 2002 - 16:06 #3
Altså:

int a[100];

int *f()
{
  return a;
}

ellse

int *f()
{
  int *a = malloc(100*sizeof(int));
  return a;
}

men aldrig:

int *f()
{
  int a[100];
  return a;
}
Avatar billede effo Nybegynder
24. oktober 2002 - 16:23 #4
Tak for jeres hurtighed...Arne's svar virkede mest overbevisende...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester