多维数组的传递

接收多维数组的函数,可以省略相当于开头下标的n维的元素个数。但是,(n - 1)维之下的元素个数必须是常量。

以下是接收一维、二维、三维数组的参数的声明示例:

void func1(int v[],       int n);  //元素类型为int、元素个数随意(n)。 
void func2(int v[][3],    int n);  //元素类型为int[3]、元素个数随意(n)。 
void func3(int v[][2][3], int n);  //元素类型为int[2][3]、元素个数随意(n)。 

注:所接收的数组的元素类型必须固定,但元素个数是自由的。

代码示例:为n行3列的二维数组的所有构成元素赋上同样的值

#include<stdio.h>

//将v赋值给元素类型为int[3]、元素个数为n的数组m的所有构成元素
void fill(int m[][3],int n,int v)
{
    int i,j;
    for(i = 0;i < n;i++)
        for(j = 0;j < 3;j++)
            m[i][j] = v;
 } 
 
//显示元素类型为int[3]、元素个数为n的数组m的所有构成元素
void mat_print(const int m[][3],int n)
{
    int i,j;
    for(i = 0;i < n;i++){
        for(j = 0;j < 3;j++)
            printf("%4d",m[i][j]);
        putchar('\n');
    }
 } 
 
int main()
{
    int no;
    int x[2][3] = {0};  //2行3列:元素类型为int[3]、元素个数为2
    int y[4][3] = {0};  //4行3列:元素类型为int[3]、元素个数为4
    
    printf("赋给所有构成元素的值:");
    scanf("%d",&no);
    
    fill(x,2,no);
    fill(y,4,no);
    
    printf("---x---\n"); mat_print(x,2);
    printf("---y---\n"); mat_print(y,4);
    
    return 0; 
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【专业技术第二讲】c语言中const的使用

遇到有人为const的使用: ? 这里对const的使用做一个大致的总结。 C语言的const关键字与指针搭配使用,const是C语言中保留的一个关键字,它用来...

35860
来自专栏PHP实战技术

你应该这个姿势学习PHP(2)

2、is_array(),is_bool,is_int(),is_integer(),is_numeric(),is_string(),is_object(),...

40960
来自专栏Java架构沉思录

深入浅出排序算法(上)

前言 排序指的是按照某种顺序(升序或降序)排列序列元素的一种算法,在实际工作中用得非常多,也是面试中经常被问到的知识点。本文将为大家介绍常见的几种排序算法的思...

28350
来自专栏小樱的经验随笔

关于int *a[常量]与int (*a)[常量]的分析与区分(详解)

前言: 小伙伴私信我说,int *a[常量]与int (*a)[常量]这个区分不开,C指针,确实是C中最难的部分,也是学C++,JAVA,包括你以后上岗用的非常...

27630
来自专栏desperate633

LintCode 移动零题目分析

给一个数组 nums 写一个函数将0 移动到数组的最后面,非零元素保持原数组的顺序

8320
来自专栏生信小驿站

python-运算符与表达式

你所编写的大多数语句(逻辑行)都包含了表达式(Expressions)。一个表达式的简单例子便是 2+3。表达式可以拆分成运算符(Operators)与操作数(...

20020
来自专栏lzj_learn_note

1-python基础

​ 同一个变量a可以反复赋值,且可以是不同类型的变量. 这种变量本身类型不固定的语言称为动态语言, 比如python, javascript....

27620
来自专栏PHP实战技术

你应该这个姿势学习PHP(2)

1、循环数组有哪几种方式 1)foreach(能够循环关联和索引数组以及对象) 2)for(只能循环索引数组) 3)list和each配合使用循环数组 $arr...

284100
来自专栏天天

数据类型的转换

12330
来自专栏深度学习思考者

Python学习(二) 正则表达式

Python正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功...

20890

扫码关注云+社区

领取腾讯云代金券