int main(int argc, char* argv[])
{
char c[][2] = {{'a','b'},{'c','d'},{'e','f'}};
printf("==================指针,指向数组=========================\n");
char* q = NULL;
q = c[0];
printf("%c\n",q[5]);
q = q + 1;
printf("%c\n",q[0]);
printf("%c\n",q[4]);
printf("==================数组指针,是一个指针,指向数组=========================\n");
char (*b)[2];
b = c;
printf("%c\n",*(b[0]));
printf("*(*(b + 1) + 1)为:%c\n",*(*(b + 1) + 1));
printf("c的初始地址为:%d\n",c);
printf("&c[2][1]为:%d\n",&c[2][1]);
printf("c[2][1]为:%c\n",c[2][1]);
b = b+1;
printf("b第一个值指向的地址为:%d\n",b);
printf("b第一个值存储的值为:%c\n",*(b[0]));
printf("*(b[0] + 1)为:%c\n",*(b[0] + 1));
printf("*(b[1])为:%c\n",*(b[1]));
b = b - 1;
printf("b第一个值指向的地址为:%d\n",b[0]);
printf("b第一个值存储的值为:%c\n",*(b[0]));
printf("*(b[0]+1)为:%c\n",*(b[0]+1));
printf("================指针数组,是一个数组,元素是指针的数组==================\n");
char* p[3];
p[0] = c[0];
p[0]= p[0]+1;
printf("%c\n",*(p[0]));
printf("%c\n",*(p[0]+1));
printf("%c\n",*(*p+1));
return 0;
}