2 svar
73 visningar
Didar 208
Postad: 1 nov 2022 11:18 Redigerad: 1 nov 2022 11:22

vad betyder denna kod av pekare

 char string [] = "Computer";

     char *ptr = string;

Så som jag fattar det så först deklarerar man en sträng array och initierar computer sedan skapar man en pekare som ska peka på strängen som i det här fallet är ''computer''?

 

     *ptr = *ptr + 2;  här antar jag att man ska hoppa 2 steg fram på första index  på det som ptr pekar på, vilket är c

     ptr = ptr + 2;      Det här förstår jag inte riktigt

     printf("%c" , *ptr); 

     ptr--;      Här hoppar man ett steg bak i index, resterande förstår jag inte så bra

     printf("%c" , *ptr);

     ptr = string;

     printf("%c" , *ptr);

     

Lindehaven 820 – Lärare
Postad: 1 nov 2022 17:56
Didar skrev:

 char string [] = "Computer";

     char *ptr = string;

Så som jag fattar det så först deklarerar man en sträng array och initierar computer sedan skapar man en pekare som ska peka på strängen som i det här fallet är ''computer''?

Ja.

     *ptr = *ptr + 2;  här antar jag att man ska hoppa 2 steg fram på första index  på det som ptr pekar på, vilket är c

Det som ptr pekar på, dvs string[0], ökas med 2.

     ptr = ptr + 2;      Det här förstår jag inte riktigt

ptr ökas med 2 och pekar därmed på string[2].

     printf("%c" , *ptr); 

     ptr--;      Här hoppar man ett steg bak i index

Ja, och ptr pekar därmed på string[1].

Didar 208
Postad: 1 nov 2022 22:59
Lindehaven skrev:
Didar skrev:

 char string [] = "Computer";

     char *ptr = string;

Så som jag fattar det så först deklarerar man en sträng array och initierar computer sedan skapar man en pekare som ska peka på strängen som i det här fallet är ''computer''?

Ja.

     *ptr = *ptr + 2;  här antar jag att man ska hoppa 2 steg fram på första index  på det som ptr pekar på, vilket är c

Det som ptr pekar på, dvs string[0], ökas med 2.

     ptr = ptr + 2;      Det här förstår jag inte riktigt

ptr ökas med 2 och pekar därmed på string[2].

     printf("%c" , *ptr); 

     ptr--;      Här hoppar man ett steg bak i index

Ja, och ptr pekar därmed på string[1].

tack för svar :)

Svara
Close