2017-09-02 606 views
0

我在将一个2d数组的值赋给int时出现问题,它给了我一个警告:“从指针转换为不同大小的整数c”。是否有任何方式的2D阵列的值分配到这样一个int:从指针转换为不同大小的整数c

int main(){ 

    int test[10][10] = {{1}}; 

    int integer = (int) test[0]; 

    return 0; 
} 

回答

0

事实上可以从一个整数二维数组值传递给int变量。 你犯了一个小的失误,你应该这样写的:

int integer = test[0][0]; 

,只是为了避免未来的错误,你需要在你的阵列中的其他要素分配更多的变量,否则将收到NULL作为在某些情况下停止从编译中编程的值。

0

test [0]表示一行。你不能在整型变量中放置整数数组。

int * integerPointer =(int *)test [0];

将是正确的语法。现在integerPointer作为一个简单的数组。

+0

如果我想要将表示数组的特定部分的整数指针与另一行的另一个指针数组进行比较,以确定该行代表哪个数字是最大的那么该怎么办。指针如何进行比较呢? –

+0

由于二维数组得到有序的内存。你可以直接比较指针。第0行的指针值将小于第1行的指针值,以此类推。 –

相关问题