文档章节

二维数组名作为实参或者形参

别情花如依丶
 别情花如依丶
发布于 2016/04/20 22:02
字数 357
阅读 3
收藏 0


 
    1.方式1.void fun(int a[4][6]); //二维数据作为函数参数时,要明确指明二维数组的列数.
 
        void fun(int a[][6])    //二维数组行数可以省略
 
        另外,不能用非常量定义二维数组作为其下标.
 
    */

void fun1(int a[][3],int n){//数组的行数
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d  ",a[i][j]);
        }
    }
}


    /*
 
 
 
     方式2.void fun(int (*pArray)[6]) 应用一维指针组作为参数
     
   
     */

void fun2(int (*arr)[3],int n){
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d  ",arr[i][j]);
        }
    }
}



    /*
     
     
     方式3.void fun(int (&arr)[10][10])  应用二维数组引用作为参数,在此必须指明二个维数
     
     方式4.void fun(int (*arr)[10][10]) 应用二维指针数组作为参数,在此必须指明二个维数
     
     注:以上四种方法通用,但是数组传递时,仅传值,对传入参数不做改变
     
     
     
     方式5. void fun(int** arr, int m, int n) 应用二重指针作为形参,传入的实参也必须是二重指针,巧妙地利用new分配内存空间,可以用非常量定义
     
     arr[i][j]获取值是不对的,因为编译器不能正确的为它寻址,所以我们需要模仿编译器的行为把arr[i][j]这样的式子
     
     手工转变为 *((int*)arr + n*i + j);
     
     

本文转载自:http://www.cnblogs.com/Ager/p/4799075.html

别情花如依丶

别情花如依丶

粉丝 5
博文 78
码字总数 20405
作品 6
程序员
私信 提问
C语言学习之七——指针_2_数组

指针和数组 1.1通过指针得到整个数组:由于数组是由各个具有相同性质的数组元素按照一定顺序排布的集合,而每个数组元素都占一定的内存空间,且由数据结构知识可知,数组元素在内存中的排布是...

Eric_Hunter
2017/12/23
0
0
C语言 函数

为什么要使用函数 在C程序中,如果程序的功能比较多,规模比较大,把所有的程序都写在一个主函数中(main函数),就会使主函数变得庞杂,头绪不清了,是阅读和维护程序比较困难。此外,有时候...

晨曦之光
2012/05/16
160
0
C语言函数讲解(一)

C语言函数(一) 谨记 短暂的人生中,注定有很多人陪伴着你度过,陪你一起欢呼,陪你一起伤心流泪,陪你一起走过一条又一条的街道,或许他们并不是真真切切的,但是至少他们还在你身边。这个...

长风留言
2017/11/18
0
0
八、数组

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 为了让大家更好地学...

长平狐
2013/03/28
71
0
C语言二维数组字符串的赋值

今天用到了二维数组作为参数传递的程序,通过网上搜索,针对自己遇到的问题做个整理。 1、在被调用函数的形参数组定义可以省略第一维的大小,第二维不可省略,如下: void fun(int a[5][20])...

wty530
2014/12/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部