2次元配列の値をintに代入する際に問題が発生しました。「ポインタを異なるサイズcの整数にキャスト」という警告メッセージが表示されます。ポインタを異なるサイズの整数にキャストする
int main(){
int test[10][10] = {{1}};
int integer = (int) test[0];
return 0;
}
2次元配列の値をintに代入する際に問題が発生しました。「ポインタを異なるサイズcの整数にキャスト」という警告メッセージが表示されます。ポインタを異なるサイズの整数にキャストする
int main(){
int test[10][10] = {{1}};
int integer = (int) test[0];
return 0;
}
実際には、整数の2次元配列からint変数に値を渡すことができます。このように2次元配列の値をintに代入する方法はありますか? あなたがマイナーなミスを犯してきた、あなたはこのようにそれを書いておく必要があります。
int integer = test[0][0];
ちょうどあなたが他のあなたがNULLを受け取ることになりますあなたのアレイ内の他の要素に複数の変数を割り当てる必要があります、将来のエラーを回避するためにいくつかのケースではコンパイルからプログラムするのを止める値として。
test [0]は行を表します。整数の配列を整数変数に入れることはできません。
int * integerPointer =(int *)test [0];
は正しい構文です。 integerPointerは単純な配列として機能します。
配列の特定の部分を表す整数ポインタと、別の行の別のポインタ配列を比較して、その行が表す数値が最大であるかどうかを調べたいとします。そのようなポインタの比較はどのように行われますか? –
2D配列は順序メモリを取得するためです。ポインタを直接比較することができます。行0のポインタ値は、行1のポインタ値より小さくなります。以下同様です。 –