while ( ptr <= &var[MAX - 1] ) 这一段是啥意思


#include <stdio.h>
 
const int MAX = 3;
 
int main ()
{
   int  var[] = {10, 100, 200};
   int  i, *ptr;
 
   /* 指针中第一个元素的地址 */
   ptr = var;
   i = 0;
   while ( ptr <= &var[MAX - 1] )
   {
 
      printf("Address of var[%d] = %x\n", i, ptr );
      printf("Value of var[%d] = %d\n", i, *ptr );
 
      /* 指向上一个位置 */
      ptr++;
      i++;
   }
   return 0;
}

ptr <= &var[MAX - 1] 是说ptr没有移动到数组的最后一个元素(包含最后一个元素)。
while(ptr <= &var[MAX - 1])实现数组的遍历。
在12行 ptr= var; ptr指向了数组的首地址,在21行ptr++,就指向下一个元素。ptr <= &var[MAX - 1]把ptr的移动限定在数组地址范围内,从而实现对var数组的遍历。
ptr指向var数组中的元素,ptr=var时,指向var数组的第一个元素,ptr++,就指向数组的下一个元素。