我最近写了下面的代码:转换维数组二维数组用C
#include <stdio.h>
int main()
{
int **x;
int arr[] = {1,2,3,4,5};
x = (int**)arr;
}
我如何打印的内容改编用x?还解释一维数组如何转换为二维数组?
我最近写了下面的代码:转换维数组二维数组用C
#include <stdio.h>
int main()
{
int **x;
int arr[] = {1,2,3,4,5};
x = (int**)arr;
}
我如何打印的内容改编用x?还解释一维数组如何转换为二维数组?
1)你想要做的是不正确的。你必须使用一个int *
#include <stdio.h>
int main()
{
int *x;
int arr[] = {1,2,3,4,5};
x = arr;
//do what do you have to do
}
2)对于数组转换我想这是没有意义的。
我知道我所做的没有任何意义。但是,代码编译时没有警告,这并不正确。我怀疑如何将一维指针转换为二维指针。 –
如果你指的是如何完成这个转换:操作'int ** x =(int **)arr;'在句法上是正确的。你将获得一个int指针指向int指针或(更容易理解)一个int [] []' –
该代码已损坏。 – melpomene
到目前为止请显示您的研究/调试工作。请先阅读[问]页面。 –
您可以将一维数组转换为二维数组,但它很危险,因为您改变了如何访问大量的字节。如果你做得不对,会导致未定义的行为。另外,用奇数的数据做这件事情根本不可能。 – Garf365