二维数组作为函数的参数
二维数组作为函数的参数传递, 不是单纯的值传递, 传递的是数组本身.
demo.c
#include <stdlib.h>
#include <stdio.h>
/* 版本1 指明参数 */
void print1(int a[3][4])
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
/* 版本2 省略一个高维度参数 */
void print2(int a[][4], int lines)
{
for (int i = 0; i < lines; i++)
{
for (int j = 0; j < 4; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
int main()
{
int a[3][4] = { 0 };
int i = 0;
int j = 0;
/* 给数组成员赋值 */
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
a[i][j] = 4 * i + j;
}
}
print1(a);
print2(a, 3);
system("pause");
return 0;
}
运行环境: vs2019
运行结果:
结语:
学到的知识要, 多复习, 多总结, 多敲. 需要时间的积累, 才能引起质的改变. 自己写不出来的永远是别人的.
分享一下我的技巧: 代数法把具体的数字带进去, 看看能能能找到规律(掌握思想).
还有就是画图, 也很重要. 用笔画出来, 把数代进去, 方法虽然笨, 但真的很实用, 好记忆不如烂笔头!!!
我是小白, 如果存在问题, 欢迎大神给予评判指正.
错了不可怕, 可怕的是找不出bug
今日是: 2020年5月5日, (由于疫情的原因)在家里整天坐在电脑前, 眼神逐渐从大到小, 视力也有所大大的下降 ,中午期待打篮球. 写博客, 就当写写日记吧!!!,
希望给个赞: 反正你又不亏, 顺便而已