从函数C ++打印出2D数组

时间:2015-04-19 15:59:54

标签: c++ arrays 2d

我已经尝试了几个小时没有并且没有取得任何进展,程序应该在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;
}

1 个答案:

答案 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);