Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c+中将双指针矩阵转换为单指针向量+;? 我有一个双指针矩阵,我想把它转换成C++中的一个指针。 代码如下: int main(){ int AA[2][2] = {1,2,3,4}; int i,j,k; int kolB,barB; int **BB,**CC; int *A,*B,*C; BB = new int*[barB]; CC = new int*[2]; for(i=0;i<kolB;i++){ BB[i] = new int[kolB]; CC[i] = new int[kolB]; } free(BB); free(CC); return 0; } intmain(){ int AA[2][2]={1,2,3,4}; int i,j,k; 内科布,倒钩; int**BB,**CC; int*A、*B、*C; BB=新整数*[barB]; CC=新整数*[2]; 对于(i=0;i_C++_Arrays_Pointers_Matrix - Fatal编程技术网

如何在c+中将双指针矩阵转换为单指针向量+;? 我有一个双指针矩阵,我想把它转换成C++中的一个指针。 代码如下: int main(){ int AA[2][2] = {1,2,3,4}; int i,j,k; int kolB,barB; int **BB,**CC; int *A,*B,*C; BB = new int*[barB]; CC = new int*[2]; for(i=0;i<kolB;i++){ BB[i] = new int[kolB]; CC[i] = new int[kolB]; } free(BB); free(CC); return 0; } intmain(){ int AA[2][2]={1,2,3,4}; int i,j,k; 内科布,倒钩; int**BB,**CC; int*A、*B、*C; BB=新整数*[barB]; CC=新整数*[2]; 对于(i=0;i

如何在c+中将双指针矩阵转换为单指针向量+;? 我有一个双指针矩阵,我想把它转换成C++中的一个指针。 代码如下: int main(){ int AA[2][2] = {1,2,3,4}; int i,j,k; int kolB,barB; int **BB,**CC; int *A,*B,*C; BB = new int*[barB]; CC = new int*[2]; for(i=0;i<kolB;i++){ BB[i] = new int[kolB]; CC[i] = new int[kolB]; } free(BB); free(CC); return 0; } intmain(){ int AA[2][2]={1,2,3,4}; int i,j,k; 内科布,倒钩; int**BB,**CC; int*A、*B、*C; BB=新整数*[barB]; CC=新整数*[2]; 对于(i=0;i,c++,arrays,pointers,matrix,C++,Arrays,Pointers,Matrix,如果我正确理解了您的问题,您希望访问双指针数组中的每个元素,并将其放入单指针数组中,如下所示: //assuming kolB,barB,**BB have been initialized B=new int[kolB*barB];//create a one dimensional integer array to be pointed to by int* B //then copy the value from double pointer array to this new one

如果我正确理解了您的问题,您希望访问双指针数组中的每个元素,并将其放入单指针数组中,如下所示:

//assuming kolB,barB,**BB have been initialized
B=new int[kolB*barB];//create a one dimensional integer array to be pointed to by int* B

//then copy the value from double pointer array to this new one dimensional array
for(int i=0;i<barB;i++)
   for(int j=0;j<kolB;j++)
       B[(i*barB)+j]=BB[i][j];//you need to copy each value
//假设kolB、barB、**BB已初始化
B=newint[kolB*barB];//创建一个由int*B指向的一维整数数组
//然后将值从双指针数组复制到这个新的一维数组

对于(int i=0;我不能混合使用
new
free()
请。我使用malloc时出错,所以我只使用这种方法使用
delete[]
代替。我如何将**BB转换为*B?“我使用malloc时出错,所以我只使用这种方法”这是猜测编程的问题:你做得更糟,不是更好。为什么不采取C++书推荐的方法呢?