标题:c语言返回一个二维数组
参考blog:c语言返回一个二维数组
#include<stdio.h>
#include<stdlib.h>
int ** getInfo(){
int ** b;
//定义一个二维数组
b = (int **)malloc(3 * sizeof(int *));
for(int i = 0; i < 3; i++){
b[i] = (int *)malloc(4 * sizeof(int));
}
int t = 0;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 4; j++){
b[i][j] = t++;
}
}
return b;
}
int main(void){
int a[3][4] = {
{
1,2,3,4
},
{
1,2,3,4
},
{
1,2,3,4
}
};
//二维数组的赋值,赋给指针
int (* pdf)[4] = a;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 4; j++){
printf("%d ", pdf[i][j]);
}
printf("\n");
}
//int ** d = a;
//测试返回一个二维数组
printf("测试返回一个二维数组\n");
int **c = getInfo();
for(int i = 0; i < 3; i++){
for(int j = 0; j < 4; j++){
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}