Citat:
MG-RAY kaže:
Kod:
char[] yo = "yo!";
char *yo = "yo!";
Primeri iznad su potpuno ekvivalentni...
|
Nisu ekvivalentni. U prvoj liniji yo je pokazivač na niz karaktera na stacku (odnosno kada izvršenje dođe do te linije niz se kopira na stack iz read only dela memorije gde su skladišteni svi string literali), dok je u drugoj liniji yo pokazivač na niz karaktera koji se nalazi u read only memoriji (poseban deo memorijskog prostora gde se nalaze string literali, instance struct-ova čija su polja inicilazovana konstantama, string literalima ili drugim sličnim structovima (za globalne promenljive i struct literale u kodu), sadržaj ovog dela memorije se automatski povlači iz samog izvršnog fajla)