3

double (*foo)[2][2]を表していますか?そして、Cで配列をそのままfloat *の配列に変換するにはどうすればよいですか?

4

2 に答える 2

10
double (*foo)[2]

foodouble2 つの要素の配列へのポインターです。

例えば:

double bla[2];
double (*foo)[2] = &bla;
于 2012-06-04T18:24:15.450 に答える
3

質問の 2 番目の部分に答えるには、それを float の配列に変換することはできません。float の新しい配列を宣言し、各メンバーを明示的に変換する必要があります。

例えば、

float bar[] = {(float)(*foo)[0], (float)(*foo)[1]};

さらに、最初の部分の回答に追加するために、このリンクと彼のいわゆる右左規則は、紛らわしい宣言が何を意味するかを理解するために非常に貴重です。

于 2012-06-04T18:42:05.010 に答える