国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

文章標(biāo)題

2019-11-08 02:19:04
字體:
供稿:網(wǎng)友

轉(zhuǎn)自:http://hi.baidu.com/outsmile/blog/item/38db95ede27206d2b31cb11d.html

今天寫程序的時(shí)候要用到二維數(shù)組作參數(shù)傳給一個(gè)函數(shù),我發(fā)現(xiàn)將二維數(shù)組作參數(shù)進(jìn)行傳遞還不是想象得那么簡單里,但是最后我也解決了遇到的問題,所以這篇文章主要介紹如何處理二維數(shù)組當(dāng)作參數(shù)傳遞的情況,希望大家不至于再在這上面浪費(fèi)時(shí)間。

正文:

首先,我引用了譚浩強(qiáng)先生編著的《C程序設(shè)計(jì)》上面的一節(jié)原文,它簡要介紹了如何

將二維數(shù)組作為參數(shù)傳遞,原文如下(略有改變,請?jiān)?:

[原文開始]

可以用二維數(shù)組名作為實(shí)參或者形參,在被調(diào)用函數(shù)中對形參數(shù)組定義時(shí)可以指定所有維數(shù)的大小,也可以省略第一維的大小說明,如: void Func(int array[3][10]); void Func(int array[][10]); 二者都是合法而且等價(jià),但是不能把第二維或者更高維的大小省略,如下面的定義是不合法的: void Func(int array[][]); 因?yàn)閺膶?shí)參傳遞來的是數(shù)組的起始地址,在內(nèi)存中按數(shù)組排列規(guī)則存放(按行存放),而并不區(qū)分行和列,如果在形參中不說明列數(shù),則系統(tǒng)無法決定應(yīng)為多少行多 少列,不能只指定一維而不指定第二維,下面寫法是錯(cuò)誤的: void Func(int array[3][]);實(shí)參數(shù)組維數(shù)可以大于形參數(shù)組,例如實(shí)參數(shù)組定義為: void Func(int array[3][10]); 而形參數(shù)組定義為: int array[5][10]; 這時(shí)形參數(shù)組只取實(shí)參數(shù)組的一部分,其余部分不起作用。

[原文結(jié)束]

大家可以看到,將二維數(shù)組當(dāng)作參數(shù)的時(shí)候,必須指明所有維數(shù)大小或者省略第一維的,但是不能省略第二維或者更高維的大小,這是由編譯器原理限制的。大家在學(xué)編譯原理這么課程的時(shí)候知道編譯器是這樣處理數(shù)組的:

對于數(shù)組 int p[m][n];

如果要取p[i][j]的值(i>=0 && i


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 绵阳市| 万安县| 泰宁县| 连平县| 东阿县| 黄浦区| 左云县| 江口县| 夏河县| 繁峙县| 山东省| 宁化县| 旅游| 盐亭县| 汾阳市| 闸北区| 黎平县| 大姚县| 施秉县| 浮梁县| 行唐县| 客服| 闻喜县| 仪陇县| 青田县| 祁东县| 印江| 新邵县| 萨嘎县| 焉耆| 洛扎县| 长子县| 元氏县| 霍林郭勒市| 同心县| 陆丰市| 延吉市| 拉孜县| 竹北市| 高唐县| 临桂县|