Δημοσιεύτηκε: 21 Μαρ 2012, 20:08
από Ilias95
Ας ξεκινήσω με μια απορία.

Έχω ένα string και θέλω να αλλάξω το πρώτο του γράμμα (ουσιαστικά το πρώτο στοιχείο της array).
Πιθανότατα θα το έκανα έτσι:
Κώδικας: Επιλογή όλων
char str[] = "String";
str[0] = 'X';
puts(str);

Αν όμως δηλώσω το string έτσι:
Κώδικας: Επιλογή όλων
char *str = "String";

Πως θα κάνω το ίδιο πράγμα;

Σκέφτηκα να το κάνω έτσι:
Κώδικας: Επιλογή όλων
char *str = "String", *p = str;
*p = 'X';
puts(str);

Όμως παίρνω Segmentation fault χωρίς κανένα warning στο compile.

Πως θα το κάνω τελικά και γιατί το παραπάνω δεν δουλεύει;