国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 永春县| 诸暨市| 温宿县| 安溪县| 徐州市| 垣曲县| 云梦县| 忻城县| 安国市| 霍山县| 娄底市| 石棉县| 龙胜| 大竹县| 柯坪县| 年辖:市辖区| 泸溪县| 鄂伦春自治旗| 县级市| 辉县市| 溧水县| 理塘县| 酒泉市| 岑巩县| 友谊县| 琼海市| 宁明县| 巴南区| 阳信县| 宾川县| 河东区| 铁岭县| 罗城| 高州市| 日照市| 阿尔山市| 张家口市| 资兴市| 博野县| 武冈市| 安乡县|