Avatar billede gozo123 Nybegynder
09. marts 2006 - 12:31 Der er 4 kommentarer

Pointer i c

Hej jeg er ved at lære at bruge pointere. Jeg sys det virker lidt svært at komme igang med?

#include<stdio.h>

void vis_streng(char *streng) {
   
    while (*streng != '\0') {
          printf("%c", *streng);
          streng++; 
          }
}

int main(void)
{
    vis_streng("Er pointer nu også så smart?");
    return 0;
    }

Nogen der kan forklare det her program?
Hvad sker der når man skriver: streng++; til noget der ellers er deff. som: *streng.

Det er kun delen med pointer jeg ikke forstår?

På forhånd tak
Avatar billede soreno Praktikant
09. marts 2006 - 12:40 #1
while løkken løber strengen igennem til null nås.
Streng variablen peger initielt på første char i strengen (arrayet).
Ved at sige streng++ inkrementeres strengvariablen så den peger på næste char i arrayet.
Avatar billede soreno Praktikant
09. marts 2006 - 12:42 #2
prøv evt. at rette din print til
printf("%i ", streng);

Så får du adressen i memory hvor den char streng peger på er.
Avatar billede gozo123 Nybegynder
21. august 2007 - 19:26 #3
Tak. Smid et svar
Avatar billede mxs Nybegynder
22. august 2007 - 15:43 #4
soreno, hvad er det du ikke forstår i din kodestump? Er det pointerne, eller er det pointerne og char*?
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