使用malloc函数模拟开辟一个二维数组
#include<stdio.h>
int main(){
int** arr = (int**)malloc(sizeof(int*) * 3);//开辟三个(int*)大小的空间
int i = 0;
for (i = 0; i < 3; i++) {
arr[i] = (int*)malloc(sizeof(int) * 5);//在每一个(int*)空间内再开辟出5个大小为(int)的空间
}
int j = 0;
for (i = 0; i < 3; i++) {
for (j = 0; j < 5; j++) {
*(*(arr + i) + j) = 5 * i + j;
}
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 5; j++) {
printf("%d ", *(*(arr + i) + j));
}
printf("\n");
}
for (i = 0; i < 3; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
(仅为个人学习总结,有问题可评论指出,虚心接受)