我已经尝试了几个小时没有并且没有取得任何进展,程序应该在16 x 16 x的网格功能中创建一个2D数组,然后在主程序中我应该能够在控制台,但在运行时,我没有得到任何结果,任何帮助将是apreciated(新手)
#include <iostream>
#include <cstdlib>
char **create2DArray(); //function prototype
#define WIDTH 16
#define HEIGHT 16
char** myArray; //global array
char **create2DArray(){
int i,j;
char **array = (char **) malloc(sizeof(char *) * WIDTH);
for(i=0; i<WIDTH; i++)
array[i] = (char *) malloc(sizeof(char) * HEIGHT);
for(i=0; i<WIDTH; i++)
for(j=0; j<HEIGHT; j++)
array[i][j] = 'x';
return array;
}
int main(int argc, char** argv) {
char **create2DArray();
myArray = create2DArray();
void printArray(char** array);
return 0;
}
答案 0 :(得分:1)
您必须实施printArray
功能。
void printArray(char** array)
{
for(int i=0; i<sizeof(array); i++)
{
for(int j=0; j<sizeof(array[i]); j++)
{
std:: cout << array[i][j] << " ";
}
std::cout << std::endl;
}
}
然后在main
中调用它,并添加void printArray(char** array)
作为函数原型。
printArray(myArray);