C++:

#include <iostream>
using namespace std;
int main()
...{
int n;
int i;
while (scanf("%d", &n) && n) ...{
int ** num = new int * [n];
for (i = 0; i < n; i++)
num[i] = new int [2];
for (i = 0; i < n; i++)
cin >> num[i][0] >> num[i][1];
for (i = 0; i < n; i++)
cout << num[i][0] << " " << num[i][1] << endl;
delete[] num;
}
return 0;
}
C

#include <stdio.h>
#include <stdlib.h>
int main()
...{
int n;
int i;
while (scanf("%d", &n) && n) ...{
int ** num = (int **) malloc(n * sizeof(int *));
for (i = 0; i < n; i++)
num[i] = (int *) malloc(2 * sizeof(int));
for (i = 0; i < n; i++)
scanf("%d%d", &num[i][0], &num[i][1]);
for (i = 0; i < n; i++)
printf("%d %d ", num[i][0], num[i][1]);
for (i = 0; i < n; i++)free(num[i]);
free(num);
}
return 0;
}
本文通过两个示例对比了C++与C语言中如何进行动态内存分配和释放,重点介绍了二维动态数组的创建与使用,并展示了如何通过标准输入输出进行数据交互。
559

被折叠的 条评论
为什么被折叠?



