String literals are read-only
Në shqip: Tekstet e shkruara direkt janë vetëm për lexim
ShpjegimiSQ
char *s = "Arta"; tregon te një tekst që ruhet në memorie vetëm për lexim — po provove s[0] = 'a', programi mund të rrëzohet. Për tekst që e ndryshon, përdor char s[] = "Arta";.
EnglishEN
char *s = "Arta"; points to text stored in read-only memory — try s[0] = 'a' and the program may crash. For text you'll change, use char s[] = "Arta";.
Si ta mendosh
Si një tabelë rrugore: mund ta lexosh, s'mund ta rishkruash.
Lexoje në anglisht
Like a road sign: you can read it, not rewrite it.
Shembull kodic
char *a = "Arta"; // vetëm lexim
char b[] = "Arta"; // kopje që mund ta ndryshosh
b[0] = 'a'; // ✓
// a[0] = 'a'; // ✗ sjellje e papërcaktuar