1

つまり、基本的に、私がやろうとしているのは、配列を引数として渡すことです。私はそのようなアイデアを思いついた:

#include <stdio.h>
#include <stdlib.h>

int x;

void function(int array[][x]){
    //stuff here
}

int main(){
    x = random(10);
    int array[10][x];
    //initialize array
    function(array[10][x]);
}

私はこれがうまくいくはずだと思ったが、それは私にメモを与える:

'int(*)[(unsigned int)(x)]'が必要ですが、引数は'int'型です</p>

どんな助けでもいただければ幸いです。

4

2 に答える 2

2

関数に引数を誤って渡しています。それはfunction(array)指摘された通りでなければなりません。
その他の所見:
1。いくつかの非標準機能でない限り、の使用random()はおそらくそうではなく、そうではありません。 2.またはのいずれかである必要があります3.sayまたはから int値を返す必要がありますrandom()%10;random(10);
int main()int main(void)int main(int argc, char **argv)
mainreturn 0return EXIT_SUCCESS

追記:
関数で配列の実際の次元を取得できない場合があることに注意してください。関数で使用する場合は、配列の次元を渡すことを検討する必要があります。

お役に立てれば!

于 2012-12-06T14:21:42.530 に答える
2

使用する

function(array)

それ以外の

function(array[10][x])

数日前に作成したこの投稿を読みたいと思うかもしれません。

于 2012-12-06T14:13:30.163 に答える