09. februar 2006 - 20:42Der er
13 kommentarer og 1 løsning
Allokere plads til et pointere array?
Jeg har lavet et array bestående af 5 integer pointere. Nu vil jeg gerne allokere plads til det disse pointere skal pege på og derefter sætte dem til NULL (Senere kan jeg så sætte dem til et tal, hvor jeg først vil tjekke om de er NULL).
int main(void) { int *i[5]; int j; for (j = 0; j < 0; j++) { i[j]=malloc(sizeof(int)); i[j]=NULL; } return 0; }
Er dette virkelig måden at gøre det på eller er der noget jeg har misforstået?
Her sætter du i[j] til at pege på nyeligt allokeret hukommelse nok til at gemme én int. i[j]=malloc(sizeof(int)); Derpå glemmer du adressen på den hukommelse du lige har allokeret. i[j]=NULL;
Ja jeg tåger lidt det jeg mener er at man er nødt til at bruge en forløkke til at sætte pointerne i arrayet til at pege på NULL ELLER et pladsen til et tal.
man kan ikke lave det i et hak:
int * i[5];
i = NULL;
dette giver en fejl. Kunne ellers være smart hvis man kunne sætte alle pointere i "i" til at pege på NULL uden at brugen en forløkke.
Jeg mener at hvis man har et array "a" bestående af 4 integer pointere og gerne vil sætte dem til at pege på NULL (er vel det samme som at sige at man initialisere dem til NULL) så må man smide "a[i]" ind i en forløkke.
hvis du faar alle til at ligge svar og saa markere alle navnene inden du klikker accepter saa skulle det virke
Synes godt om
Ny brugerNybegynder
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.