4 svar
204 visningar
Maremare behöver inte mer hjälp
Maremare 1044 – Fd. Medlem
Postad: 22 dec 2020 17:31

hur kan (int) d vara 0 ?

Jag förstår i princip allting utom varför på näst sista raden (int)d[5] är = 0 ?

hur kan det vara 0, vart framgår det eller hur kan man se det?

Yngve 40590 – Livehjälpare
Postad: 22 dec 2020 17:45 Redigerad: 22 dec 2020 17:47

d[0] = 'H'

d[1] = 'E'

d[2] = 'L'

d[3] = 'L'

d[4] = 'O'

d[5] = \nul

Strängar i C är nullterminerade, dvs de avslutas av ett tecken med ascii-kod 0.

Maremare 1044 – Fd. Medlem
Postad: 22 dec 2020 18:01
Yngve skrev:

d[0] = 'H'

d[1] = 'E'

d[2] = 'L'

d[3] = 'L'

d[4] = 'O'

d[5] = \nul

Strängar i C är nullterminerade, dvs de avslutas av ett tecken med ascii-kod 0.

aa okej så i C är det strängens storlek + 1 alltid = 0 ?

Yngve 40590 – Livehjälpare
Postad: 22 dec 2020 19:44

Jag är osäker på vad du menar.

Jag menar att en sträng som är n tecken lång lagras i form av n+1 tecken i en array där tecknet på position 0 är strängens första tecken, tecknet på position n-1 är strängens sista tecken och att det lagras ett nulltecken på position n.

Maremare 1044 – Fd. Medlem
Postad: 29 dec 2020 13:17
Yngve skrev:

Jag är osäker på vad du menar.

Jag menar att en sträng som är n tecken lång lagras i form av n+1 tecken i en array där tecknet på position 0 är strängens första tecken, tecknet på position n-1 är strängens sista tecken och att det lagras ett nulltecken på position n.

aa okej exakt det jag undrade, tusen tack för hjälpen!

Svara
Close