2D char array
-
Hallo,
ich verstehe einfach nciht warum ich nicht wie bei normalen int oder double datentypen ein char** array anlegen kann.
char **carrays = {"Ich", "verstehe es einfach nicht"}
Bei mir steht dann:
Fehler: skalares Objekt »palindrome« erfordert ein Element in Initialisierung
kann mir jemand helfen? und ein kuzres erklärendes beispiel nennen?
-
char *carrays[] = {"Ich", "verstehe es einfach nicht"}
-
ja danke aber warum?
-
und warum müssen char arrays const sein? Ich meine man kann sie doch verändern wie man will wie arrays anderer datentypen oder nicht?
ich erhalte über den compiler:
veraltete Konvertierung von Zeichenkettenkonstante in »char*
-
Zambo2 schrieb:
ja danke aber warum?
Ebenso kann man die Frage stellen: Warum ist die C Syntax so, wie sie ist?
-
Zambo2 schrieb:
ja danke aber warum?
du legst ein array aus zwei pointern an, die schonmal auf zwei strings zeigen. schreib z.b:
char *a[2] = {"hallo", "doof"};
^^ ist dasselbe. die 2 kannste aber sparen, weil bei der initialisierung ja zwei elemente angegeben werden.
analog dazu ein array aus 3 intsint a[] = {1,2,3}; // ist das selbe wie ... int a[3] = {1,2,3}; // ... das
Zambo2 schrieb:
und warum müssen char arrays const sein?
müssen sie nicht:
char a[] = "hallo"; // array (kein pointer!) aus 6 elementen. veränderbar char *b = "hallo"; // pointer auf 'array'. der pointer selbst ist veränderbar, der speicher, auf den er zeigt, momentan aber zeigt.
Zambo2 schrieb:
ich erhalte über den compiler:
veraltete Konvertierung von Zeichenkettenkonstante in »char*
^^ zeig mal den code, der diese meldung provoziert.
-
ols toudl
-
ich hasse euch alle
-
Zambo2 schrieb:
ich erhalte über den compiler:
veraltete Konvertierung von Zeichenkettenkonstante in »char*
Nimm einen C-Compiler.
-
Manuel Pachoinig schrieb:
ich hasse euch alle
Protoyp für "Forumuser::erstenEintragSchreiben()" passt nicht zu Klasse >>DummerTroll<<