Ile zajmuje w pamięci

0

Czy ktoś mógłby mi powiedzieć ile w pamięci operacyjnej zostanie przydzielone dla kolejnych linii (C):

char *str1 = ”operator”;
char str2[] = ” operator”;
char str3[] = {’o’,’p’,’e’,’r’,’a’,’t’,’o’,’r’};
char *str4[] = {”operator”, ”instrukcja”};
char str5[2][20] = {”operator”, ”instrukcja”};

1

Nie.

1

Najpierw Ty nam powiedz, ile wg Ciebie (i dlaczego) będą zajmować poszczególne tablice. My najwyżej Cie poprawimy.

1

A ja się czasem zastanawiam czy niektórym ukradli kompilatory albo przynajmiej sizeof...

0

char *str1 = ”operator”; -> 9 bajtów (na każdego chara) + 4 bajty na wskaźnik
char str2[] = ” operator”; -> 9
char str3[] = {’o’,’p’,’e’,’r’,’a’,’t’,’o’,’r’}; -> 8 bajtów + 4
char str4[] = {”operator”, ”instrukcja”}; -> 112 bajty + 8
char str5[2][20] = {”operator”, ”instrukcja”}; -> 40

tak uważam, ale nie jestem pewny dlatego pytam

0

char str3[] = {’o’,’p’,’e’,’r’,’a’,’t’,’o’,’r’}; -> 8 bajtów
char *str4[] = {”operator”, ”instrukcja”}; -> 9+11+8

0

Dzięki 13th_Dragon.

1 użytkowników online, w tym zalogowanych: 0, gości: 1