The second is wrong. You have to think the types:
You can convert one dimension. Thus, a [] to a *. So this is valid:Code:int* p; // int* int** p; //int** int a[]; //int[] int a[][]; //int [][]
But not more than one. This in invalid:Code:int* = int[] int** = int (*)[] int**** = int (*)[][][]
And this are different:Code:int** = int[][]
hope this helpsCode:int *p[10]; // an array of int*. Thus 10 pointers to int int (*p)[10]; // one int[]. Thus one pointer to a 1D array with 10 elements