c语言返回一个二维数组

时间:2025-05-09 07:18:23
#include<> #include<> 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; }