Проходя через K&R Я тоже смотрю на следующий код:
#define ALLOCSIZE 1000
static char allocbuf[MAXLINE];
static char *allocp = allocbuf
char *alloc(int n){
if (allocbuf+ALLOCSIZE-allocp>=n){
allocp+=n;
return allocp-n;
}
else { ... }
Боюсь, мой вопрос очень простой , но я не могу осмыслить строку «если». Какое значение принимает allocbuf? Это массив символов, верно? Я посмотрел на массивы в книге, но это не помогло. указывает на нулевой элемент массива, верно?