Проблема с массивом / указателем C

Проходя через 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? Это массив символов, верно? Я посмотрел на массивы в книге, но это не помогло. указывает на нулевой элемент массива, верно?

5
задан 6 July 2011 в 14:34
поделиться