2D-arrays uden typedef

Tags:    c++

Hej

Jeg sidder og roder med lidt C-kode, der skal indeholde en pointer til et 2D-array og har fundet lidt literatur.
Det foreslår at bruge typedef:

Fold kodeboks ind/udKode 


Hvor så en pointer til denne er:
Fold kodeboks ind/udKode 


Men senere i stykket nævner forfatteren at man kan bruge følgende:
Fold kodeboks ind/udKode 


Nogen der har et forslag til hvordan man bruger sidstnævnte?
Jeg skal sende pointeren til et 2D-array til en funktion som parameter og skulle gerne kunne manipulere 2D-array i funktionen.




4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hej Hans-Jacob,

Det lyder unødvendigt kompliceret og svært som beskrevet der ...
... se følgende link:

http://www.learn-programming.za.net/programming_cpp_learn06.html

Svaret er derfor:
Fold kodeboks ind/udKode 


Antager at du ikke vil have svaret at i C kan du benytte Malloc til at allokere pladsen til arrayet og derefter benytte en int** pointer...

Med venlig hilsen
Ieet




Indlæg senest redigeret d. 05.12.2007 15:26 af Bruger #12836
Hej Hans-Jakob

Her kan du se hvordan man erklærer pointers til hhv. 1D og 2D arrays. For pointere til 2D-arrays skal du være opmærksom på, at alle på nær den "yderste" dimension (den der skrives længst til venstre i erklæringen af a2d) er fastfrosset i pointer-typen.

Venlig hilsen
Jes

Fold kodeboks ind/udKode 








Indlæg senest redigeret d. 05.12.2007 15:26 af Bruger #12836

Antager at du ikke vil have svaret at i C kan du benytte Malloc til at allokere pladsen til arrayet og derefter benytte en int** pointer...

Med venlig hilsen
Ieet


Korrekt.

Jeg har forstået så langt som til at håndtere et 2D-array direkte ligesom 1D-arrays.
Det jeg mangler er en måde at lave en pointer til 2D-arrayet uden at skulle typedef'e et 1D-array til en variabeltype og så bruge den. Det er beskrevet i følgende tutorial på side 33:

http://pweb.netcom.com/~tjensen/ptr/pointers.pdf

Hvilket ikke er særligt godt beskrevet, men det er det grundlag jeg har.

HJ



Indlæg senest redigeret d. 10.12.2007 11:30 af Bruger #5323
t