Ich habe eine Frage zur Speicherreservierung von Arrays und Zeigern...
Und zwar verwirrt mich folgendes:
Dieser Code funktioniert bei mir (beabsichtigt) NICHT.
Nun habe ich ja den String "str" mit einer Konstanten initialisiert, die automatisch in ein Array umgewandelt wird.
Das habe ich mit dem Zeiger auf int auch versucht; das geht aber nicht.
Aus welchem Grund? (Jetzt verzichten wir mal auf die Ausgabe)
Und außerdem noch etwas:
Der Code funtkioniert auch nicht, da man den Zeiger entweder mit new oder malloc Speicher zuweisen muss. Warum muss ich aber das für einen String nicht tun? chr ist doch auch nur ein Zeiger?
Und zwar verwirrt mich folgendes:
Code:
void main(void)
{
char *str;
int *zahl;
str = "Test!";
zahl = { 1,2,3 };
printf("String: %s\n", str);
printf("Zahlen: %i\n", zahl);
getchar();
}
Dieser Code funktioniert bei mir (beabsichtigt) NICHT.
Nun habe ich ja den String "str" mit einer Konstanten initialisiert, die automatisch in ein Array umgewandelt wird.
Das habe ich mit dem Zeiger auf int auch versucht; das geht aber nicht.
Aus welchem Grund? (Jetzt verzichten wir mal auf die Ausgabe)
Und außerdem noch etwas:
Code:
void main(void)
{
char *chr;
int *zahl;
chr = "character";
zahl = 3;
printf("Character: %c\n", chr);
printf("Zahl: %i\n", zahl);
getchar();
}
Der Code funtkioniert auch nicht, da man den Zeiger entweder mit new oder malloc Speicher zuweisen muss. Warum muss ich aber das für einen String nicht tun? chr ist doch auch nur ein Zeiger?