c语言中一维数组和二维数组传递的差异

 

001、一维数组的传递

 

复制代码
[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c             ## 测试c程序
#include <stdio.h>
void print_array(int a[], int b);       // 函数原型声明, 末尾需要冒号
int main(void)
{
        int a[5] = {3,8,9};
        print_array(a, 5);              //一维数组的调用,只需要给数组名称即可
        return 0;
}

void print_array(int a[], int b)          // 意味数组的声明,数据类型 + 数组名 + 下标运算符
{
        int i;
        for(i = 0; i < b; i++)
        {
                printf("a[%d] = %d\n", i, a[i]);
        }
}
[root@PC1 test]# gcc test.c -o kkk        ##  编译
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk                    ## 测试
a[0] = 3
a[1] = 8
a[2] = 9
a[3] = 0
a[4] = 0
复制代码

 

 

 

002、二维数组的传递

复制代码
[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c              ## 测试程序
#include <stdio.h>
void print_array(const int [4][3]);      // 函数原型声明
int main(void)
{
        int a[4][3] = {{2,3,4},{2,2,4},{7,8,9},{7,8,6}};
        print_array(a);                 //二维数组的调用,只需要给数组名即可
        return 0;
}
void print_array(const int a[4][3])  //二维数组的声明,数据类型,数组名,每一维的个数(这个是否可以省略??;一维数组中是可以省略掉的)
{
        int i,j;
        for(i = 0; i < 4; i++)
        {
                for(j = 0; j < 3; j++)
                {
                        printf("a[%d][%d] = %d  ", i, j, a[i][j]);
                }
                putchar('\n');
        }
}
[root@PC1 test]# gcc test.c -o kkk         ## 编译
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk                     ## 运算测试
a[0][0] = 2  a[0][1] = 3  a[0][2] = 4
a[1][0] = 2  a[1][1] = 2  a[1][2] = 4
a[2][0] = 7  a[2][1] = 8  a[2][2] = 9
a[3][0] = 7  a[3][1] = 8  a[3][2] = 6
复制代码

 。

 

posted @   小鲨鱼2018  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-11-18 查看perl中 使用 cpan -i module安装过的模块
2023-11-18 /usr/bin/perl: symbol lookup error: Devel/Size/Size.so: undefined symbol: Perl_xs_apiversion_bootcheck
2023-11-18 Can't locate Devel/Size.pm in @INC (you may need to install the Devel::Size module)
点击右上角即可分享
微信分享提示