Определить объем памяти для данных:



Решение:

20 * (10 * sizeof(int)+ sizeof(signed char) + 5 * sizeof(float*))
+ sizeof(char **) + 2 * sizeof(char *) + 9 * sizeof(char)

или подробнее:

20 * (10*sizeof(struct S) + sizeof(char **) + 2*sizeof(char *) + (4 + 1 + 3 + 1)*sizeof(char) =
= 20 * (10 * sizeof(int)+ sizeof(signed char) + 5 * sizeof(float*))
+ sizeof(char **) + 2 * sizeof(char *) + 9 * sizeof(char)

В дополнение, можно привести и возможный числовой результат, например:
= 20 * (10 * 2 + 1 + 5 * 4) + 2 + 2 * 2 + 9 * 1 = 814 байт = 814 * 8 бит = 6512 бит

Объясните пожалуйста решение. Не понятно, откуда взялось (и почему коэффициенты 2 и 9) sizeof(char **) + 2 * sizeof(char *) + 9 * sizeof(char) и как влияет на решение и ответ char *s[]= {"КГТУ","КГУ"}. Спасибо.