См. Следующую функцию:
int go(void) {
int *p, *q;
p = calloc(10,sizeof(int));
q = realloc(p, 20 * sizeof(int));
<<X>>
}
Предполагая, что оба вызова функции выделения памяти выполнены успешно, какое из следующих утверждений верно для маркера точки <<X>>
.
- Значения p и q одинаковы.
- p указывает на 10 целых чисел, каждое со значением 0.
- q указывает не менее 80 байт памяти.
Этот вопрос в моей тестовой статье C. За исключением (2), что, очевидно, верно. Я довольно запутался по поводу (1) и (3). Кто-нибудь может мне это объяснить?