最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

(C語言)解析力扣中函數(shù)參數(shù)int **returnColumnSizes

2023-07-25 21:42 作者:源源常新  | 我要投稿

本文將以力扣(59.螺旋數(shù)組)為例,解析力扣返回二維數(shù)組的函數(shù)的參數(shù)int **returnColumnSizes應(yīng)該如何賦值、如何在函數(shù)中創(chuàng)建并返回二維數(shù)組以及如何調(diào)用返回二維數(shù)組的函數(shù),最后給出了完整程序和運行結(jié)果。

generateMatrix函數(shù)參數(shù)解釋

generateMatrix函數(shù)的函數(shù)頭(圖1)

圖1 generateMatrix函數(shù)的函數(shù)頭

generateMatrix函數(shù)的返回參數(shù)是一個二級指針,指向返回的二維數(shù)組,generateMatrix函數(shù)的第一個參數(shù)是整型參數(shù)n,表示二維數(shù)組的行和列。第二個參數(shù)是整型指針returnSize,表示返回的二維數(shù)組的行數(shù)。第三個參數(shù)是二級整型指針returnColumnSizes,表示返回的二維數(shù)組每一行的列數(shù)。

所以returnColumnSizes應(yīng)該指向一個一維數(shù)組的地址的地址,在主函數(shù)中不知道返回的二維數(shù)組每一行有多少列,于是用一個一維數(shù)組存儲返回的二位數(shù)組每一行的列數(shù),這個一維數(shù)組需要在函數(shù)中動態(tài)分配內(nèi)存,其大小就是返回二維數(shù)組的行數(shù)(圖2)。

*returnColumnSizes與returnColumnSizes[0]等價。

圖2 returnColumn指向分配的一維整型數(shù)組內(nèi)存

到這里只是完成了讓returnColumnSizes指向一個一維數(shù)組的首地址,想要讓這個一維數(shù)組中存儲返回的二維數(shù)組每一行有多少列,還需要對這個一位數(shù)組賦初值。

二維數(shù)組動態(tài)分配內(nèi)存與returnColumnSizes賦值

可以在動態(tài)分配二維數(shù)組內(nèi)存的同時初始化returnColumnSizes指向的一維數(shù)組。給二維數(shù)組動態(tài)分配內(nèi)存時,

  1. 先給每一行的首地址分配空間int** result = (int**)malloc(sizeof(int)*n);

  2. 再在分配每一行的空間時將這些地址指向每一行的首地址*(result+i) = (int*)malloc(n * sizeof(int));同時給一維數(shù)組賦初值*((*returnColumnSizes)+i)=n。

*(result+i)與result[i]等價

*((*returnColumnSizes)+i)與(*returnColumnSizes)[i]等價

圖3 二維數(shù)組動態(tài)分配內(nèi)存

這里*returnSize=n表示返回的二維數(shù)組的行數(shù)為n行,result就是內(nèi)存動態(tài)分配的二維數(shù)組。

generateMatrix函數(shù)調(diào)用方法

從前面的解析已經(jīng)了解了這個函數(shù)的參數(shù),以及如何在函數(shù)中給這些參數(shù)賦值,接下來將介紹如何在其他函數(shù)中調(diào)用這個函數(shù)。

如(圖4)函數(shù)generateMatrix第一個參數(shù)是整型,定義整型變量m,直接傳入,第二個參數(shù)rem是返回二維數(shù)組的行數(shù),當然也是整型變量,但是需要在函數(shù)中修改變量rem的值,所以傳入的是rem的地址,第三個變量n存儲返回二維數(shù)組每一行的列數(shù),是一個指針,傳入的就是n的地址。函數(shù)返回二維數(shù)組的地址res。

最后使用兩層for循環(huán)輸出后釋放動態(tài)分配的內(nèi)存

圖4 調(diào)用generateMatrix并輸出

最后給出完整程序

運行結(jié)果


(C語言)解析力扣中函數(shù)參數(shù)int **returnColumnSizes的評論 (共 條)

分享到微博請遵守國家法律
莱西市| 五大连池市| 永安市| 镇宁| 大理市| 贵德县| 兰坪| 那曲县| 都匀市| 炎陵县| 休宁县| 汤阴县| 宿松县| 通城县| 淮南市| 灵璧县| 九江县| 常德市| 五大连池市| 威远县| 长乐市| 雅江县| 东台市| 建昌县| 政和县| 连云港市| 凉山| 延川县| 牟定县| 怀化市| 阳城县| 龙川县| 厦门市| 梓潼县| 安吉县| 云阳县| 右玉县| 大洼县| 临朐县| 房产| 松原市|