0

それぞれが異なるサイズの int 配列を指すポインターの配列を宣言しようとしています。何か案は?

4

6 に答える 6

3
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];
于 2012-04-06T04:54:47.497 に答える
3

あなたの説明から、ポインターへのポインターを探しているように聞こえます。

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)ます。

于 2012-04-06T03:37:07.477 に答える
0

「オブジェクトの配列へのポインター」セクションをチェックして ください http://www.functionx.com/cpp/Lesson24.htm 役立つかもしれません。

于 2012-04-06T03:38:36.577 に答える