二维数组的动态内存分配

#include <malloc.h>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    int n;
    int m=2;
    cout << "请输入通信录的个数: " << endl;

    cin >> n;

    int **memo;
    memo = (int**) malloc(sizeof(int *) *n);//分配n行
    for(int k=0; k<n; k++)
    {
        memo[k] = (int *)malloc(sizeof(int) *m);//分配m列
    } 

    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            cin >> memo[i][j];
        }
    }

    cout << "通讯录编号--------------------通信号 " << endl;

    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            cout << memo[i][j] << "                              ";
        }
             cout << endl;
    }

    free(memo);
    memo = NULL;

    return 0;
}

运行结果如下:
请输入通信录的个数:
3
1
110
2
119
3
911
通讯录编号——————–通信号
1 110
2 119
3 911


猜你喜欢

转载自blog.csdn.net/RZJMPB/article/details/50984460