У меня есть следующий код.
char a[] = "abcde";
char *b = "fghij";
char *c = malloc(6);
char *d = c;
c = "klmno";
И упражнение гласит:
Нарисуйте рисунок структур данных a, b, c и d (с содержанием), где вы можете увидеть, что было выделено, и использовать стрелки, чтобы показать, как как устанавливаются указатели.
Мое решение:
____________
a -> |a|b|c|d|e|\0|
¨¨¨¨¨¨¨¨¨¨¨¨
____________
b -> |f|g|h|i|j|\0|
¨¨¨¨¨¨¨¨¨¨¨¨
____________
c -> |k|l|m|n|o|\0|
¨¨¨¨¨¨¨¨¨¨¨¨
___________
d -> | | | | | | |
¨¨¨¨¨¨¨¨¨¨¨
Однако мое решение не было принято и ответ был "выделена память для указателя на b, c, d, но не на a". Кто-нибудь может объяснить мне, что это значит?