/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
const char*const* argv
Fra : Jonas Nielsen


Dato : 21-06-02 13:43


command(int argc, const char*const* argv)

Ovenstående går jeg udfra betyder at argv er en konstant pointer til
et array af konstante elementer. Men er der nogen der kan give en
pædagogisk forklaring på hvorfor det er sådan.

 
 
Byrial Jensen (21-06-2002)
Kommentar
Fra : Byrial Jensen


Dato : 21-06-02 16:20

Jonas Nielsen <jonasn@diku.dk> skrev:
>
> command(int argc, const char*const* argv)
>
> Ovenstående går jeg udfra betyder at argv er en konstant pointer til
> et array af konstante elementer.

Nej, det er en pointer til en konstant pointer til en konstant char.

Eller i praksis nok: Et konstant array af konstante strenge.

> Men er der nogen der kan give en
> pædagogisk forklaring på hvorfor det er sådan.

Først det grunliggende:

const type * = En pointer til en konstant af type

type * const = En konstant pointer til type

Så:

const char * = En pointer til en [array af] konstant char

const char * const = En konstant pointer til en [array af]
konstant char

const char * const * = En pointer til en [array af] konstant
pointer til en [array af] konstant char

Det kan illustreres således:

.-------------------,
--------> | . | . | . | . | 0 |
. `-------------------'
. | | | |
. | | | `----> "tekst4"
. | | `--------> "tekst3"
. | `------------> "tekst2"
. `----------------> "tekst1"
. . .
. . Et antal konstante tekster
. .
. Et array af konstante pointere
.
En ikke konstant pointer

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste