如何声明指向int数组的指针数组?

问题描述:

我想声明一个指针数组,每个指针指向不同大小的int数组。有任何想法吗?如何声明指向int数组的指针数组?

+3

嗯,'INT ** myarray'?... – dasblinkenlight 2012-04-06 03:34:49

+1

使用'的std ::阵列,5>'。 – 2012-04-06 03:41:16

从您的描述中,您听起来像是在寻找指向指针的指针。

int **aofa; 
aofa = malloc(sizeof(int*) * NUM_ARRAYS); 
for (int i = 0 ; i != NUM_ARRAYS ; i++) { 
    aofa[i] = malloc(sizeof(int) * getNumItemsInArray(i)); 
} 
for (int i = 0 ; i != NUM_ARRAYS ; i++) { 
    for (int j = 0 ; j != getNumItemsInArray(i) ; j++) { 
     aofa[i][j] = i + j; 
    } 
} 

NUM_ARRAYS阵列可以具有不同数量的元素,如通过由getNumItemsInArray(i)函数返回的值来确定。

查看“指向数组的指针”部分 http://www.functionx.com/cpp/Lesson24.htm 它可能会帮助你。

int* ar[2]; 
int ar1[] = {1,2, 3}; 
int ar2[] = {5, 6, 7, 8, 9, 10}; 
ar[0] = ar1; 
ar[1] = ar2; 
cout << ar[1][2];