void *(vector_alloc)(size_t size, long nl, long nh)
{
  void *v = malloc(size*(nh-nl+1+NR_COMPATIBLE));
  if (!v)
    return NULL;
  else
    return v - size*(nl-NR_COMPATIBLE);
}
これさっぱりわからないんです。具体的にこれの返り値ってなに?
あとvoidって返り値無しってことじゃないの?