指向指针数组的指针
#include <stdio.h>int main(int argc, char *argv[])
{
char *a[] = {"i love you","i hate myself","please forgive me","yestoday onece more","the day berfore yestoday"};
int i = 0;
char*p;
p = a[0];
while(i<5)
{
p =*(a+i++);
printf("%s\n",p);
}
/* char**p;
p = a;
while(i<5)
{
printf("%s\n",*(p+i));
i++;
}*/
return 0;
}
书中提到定义指向指针数组的指针的方法,不过我看了一下觉得不通过char **p,而是通过char *P似乎也可以,请问怎么回事,如何理解这两种指针定义的区别;
顺便问一下,之前,定义指向数的的指针也有和此类似的问题想问,比如一个整型的二维组m[3][4],如果定义一个指针好像也可以有两种方式,一种为int *p,还有一种为int (*p)[4],请结合问题回答,本人把赏分全给回答我最好的,谢谢!