Gast
#5275845
Hallo, habe doch noch mal eine Frage.. Was genau macht jetzt die Klammer um "array" aus? Mit der Klammerung funktioniert es und ohne lässt es sich nicht übersetzen.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
|
Anzeige
|
2D Array als Zeiger übergeben?!
Gast
#5275845
Hallo, habe doch noch mal eine Frage.. Was genau macht jetzt die Klammer um "array" aus? Mit der Klammerung funktioniert es und ohne lässt es sich nicht übersetzen.
Mit Klammer ist array ein Pointer auf ein Array von 10 char Ohne Klammer ist array ein Array mit 10 Pointer auf char. (siehe https://www.cdecl.org/ du solltest da aber deinen Variablennamen array ändern)
Das ist in allen Fällen aber kein 2D-Array.
Gast
#5275850
Dirk B. schrieb: > Mit Klammer ist array ein Pointer auf ein Array von 10 char > Ohne Klammer ist array ein Array mit 10 Pointer auf char. > (siehe https://www.cdecl.org/ du solltest da aber deinen Variablennamen > array ändern) > /* schon probiert */ > void test(char *array[10]) > { > printf("%s ", array[0]); > printf("%s ", array[1]); > printf("%s", array[2]); > } > Das ist in allen Fällen aber kein 2D-Array. Ich habe noch vergessen die Adresse "printf" zu übergeben. Dann klappt das mit dem 2D Array. Dirk B. schrieb: > Ohne Klammer ist array ein Array mit 10 Pointer auf char. Naja, ohne Klammern ist es ein Pointer auf einen Pointer auf einen char. > Das ist in allen Fällen aber kein 2D-Array. Das war mir auch nicht sofort klar. Wahrscheinlich ist sowas gemeint:
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|