这个问题主要是研究的是c语言的运算发的结合律,对这个问题我不是很熟。
但是对于数组指针有一个我们比较习以为常的例子:
对于这个char *argv[]便是我们比较熟悉的东西,那么这个代表是数组指针还是指针数组
我们在linux网络中经常看到这样的一句话,he=getbyhostname(argv[1]);从这里就可以看出
他一定是一个数组指针,而不是我们不太清楚的指针数组。
那么什么是指针数组呢?
见过二维数组吧,记得好像是int a[3][5];
如果我们要表示一个指向这里的指针,首先我们明确是一个指针,不是一大群指针,所以一个定义是一个变量
而不是一个数组,像上面,定义为char *argv[]
这里定义,由于*的结合律比[]高,导致先和*结合,表示指针,有多少呢?[]决定
这里如果是指针数组那么相反即可,就是char (*argv)[]