多维数组做函数参数的退化
2017-08-08 10:28
323 查看
以打印函数为例,一个二维数组的打印过程
//多维数组做函数参数的退化
void printf2301(int a[3][5])
{
int i = 0,j = 0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
void printf2302(int a[][5])
{
int i = 0,j = 0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
void printf2303(int (*b)[5])
{
int i = 0,j = 0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
}
总结:a[i][j]->a[][j]->(*a)+j
//多维数组做函数参数的退化
void printf2301(int a[3][5])
{
int i = 0,j = 0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
void printf2302(int a[][5])
{
int i = 0,j = 0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
void printf2303(int (*b)[5])
{
int i = 0,j = 0;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
}
总结:a[i][j]->a[][j]->(*a)+j
相关文章推荐
- 数组做函数参数的退化问题
- 多维数组的指针做函数参数
- 数组排序及数组做函数参数将会退化为指针
- 一维或多维数组作为函数参数的问题
- C语言及程序设计提高例程-36 多维数组作函数参数
- 数组作为函数参数传递时退化为指针(腾讯)
- 前端笔试题笔记:拍扁多维数组、提取URL中的参数变成对象、string的trim()函数、判断Email地址、16进制颜色转rgb
- C++中数组以及多维数组作为函数参数时的一些问题
- 第10周 C语言及程序设计提高例程-36 多维数组作函数参数
- 函数指针、多维数组作为函数参数
- 当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针!
- 多维数组做函数参数问题
- C语言中多维数组的常见动态分配方式及其在函数参数传递时的应用
- 强化C数组作为函数参数-多维数组的本质
- 数组的首地址和数组的第一个元素的首地址和数组做函数参数的退化问题
- C/C++学习之C提高----C数组的定义、类型、定义数组指针变量、多维数组的本质、多维数组做函数参数、将两个数组中的字符串copy到第三个数组
- 数组做函数参数退化为指针
- C语言 数组做函数参数退化为指针的技术推演
- 如何将多维数组作为参数传递给函数?(以二维数组为例)
- C语言之数组专题:数组指针、指针数组、数组做函数参数退化、数组名、数组类型