C++ 将2d动态数组传递给C++;
我有这个2d动态数组,我想把它传递给一个函数,我该怎么做呢C++ 将2d动态数组传递给C++;,c++,arrays,function,C++,Arrays,Function,我有这个2d动态数组,我想把它传递给一个函数,我该怎么做呢 int ** board; board = new int*[boardsize]; //creates a multi dimensional dynamic array for(int i = 0; i < boardsize; i++) { board[i] = new int[boardsize]; } int**
int ** board;
board = new int*[boardsize];
//creates a multi dimensional dynamic array
for(int i = 0; i < boardsize; i++)
{
board[i] = new int[boardsize];
}
int**板;
线路板=新int*[线路板尺寸];
//创建多维动态数组
对于(int i=0;i
您可以将指针传递给指针:
void someFunction(int** board)
{
}
您应该定义一个函数来接受这种参数
void func(int **board) {
for (int i=0; i<boardsize; ++i) {
board[i] = new int [size];
}
}
func(board);
检查以下链接上的二维阵列实现:
用于创建动态二维数组并将其传递给任何函数的小代码。 `
void DDArray(int**a,int x,int y)
{
int i,j;
对于(i=0;它不是一个二维数组..它是一个一维数组,由int*
s组成。在我循环通过它之后,它将是一个分配数组position@SteffanHarris:真正的2D数组(最终是一个连续的内存块)与动态分配的“数组数组”之间有很大的区别;其中数据不保证是连续的可能的副本
void func(int **board) {
for (int i=0; i<boardsize; ++i) {
board[i] = new int [size];
}
}
func(board);
void func(int **board, int boardsize, int size) {
for (int i=0; i<boardsize; ++i) {
board[i] = new int [size];
}
}
func(board, boardsize, size);
int **board;
board = new int*[boardsize];
for (int i = 0; i < boardsize; i++)
board[i] = new int[size];
fun1(int **);
void DDArray(int **a,int x,int y)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
cout<<a[i][j]<<" ";
}
cout<<"\n";
}
}
int main()
{
int r=3,c=5,i,j;
int** arr=new int*[r];
for( i=0;i<r;i++)
{
arr[i]=new int[c];
}
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
cout<<"Enter element at position"<<i+1<<j+1;
cin>>arr[i][j];
}
}
DDArray(arr,r,c);
}