返回二维数组

返回二维数组

#二维数组的返回

确切的说是返回二维数组的指针,二维数组和一位数组稍微有些不同,鉴于一维数组过于简单,博主在此只讲返回二维数组的两种方法。

一如既往的少废话,直接上刑,不,上代码:

##1.返回二维数组的第一行的首地址:

#include

int *array(void)

{

static int a[2][2] = {1,2,3,4};

return *a;//返回二维数组的第一行的首地址

}

int main(void)

{

int *p;

p = array();

int i,j;

for(i=0;i<4;i++)

{

printf("%d",p[i]);

}

printf("\n");

}

不可少的运行,结果如下:

##2.第二种方法能返回整个二维数组,操作起来也比较麻烦:

#include

typedef int (*Point)[2];//用typedef重新定义一个数组指针(为了方便)

Point Two_Array(void)

{

static int a[2][2] = {1,2,3,4};

return a;

}

int main(void)

{

int i,j=0;

Point p;

p = Two_Array();

for(i=0;i<2;i++)

{

for(j=0;j<2;j++)

{

printf("%d",p[i][j]);

}

printf("\n");

}

}

运行程序,结果如下:

相关推荐

世界杯丹麦与澳大利亚进球(丹麦对澳大利亚谁赢了?)
365体育竞彩足球

世界杯丹麦与澳大利亚进球(丹麦对澳大利亚谁赢了?)

📅 09-18 👁️ 2974
发现荣耀手机的隐藏录音功能(轻松实现高质量录音)
视频剪辑一单大概多少钱?看完这篇报价指南,小白也能立马上手!