如何在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++书推荐的方法呢?