国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
望江县| 会昌县| 大关县| 沙洋县| 长海县| 翼城县| 常熟市| 营口市| 大庆市| 偏关县| 手机| 佛坪县| 同仁县| 石屏县| 中山市| 南投县| 仁怀市| 华容县| 洛浦县| 马山县| 大埔县| 惠来县| 灵山县| 中山市| 镇巴县| 武清区| 綦江县| 铜陵市| 青铜峡市| 民县| 泗水县| 淮南市| 新泰市| 邵阳县| 临海市| 贞丰县| 岢岚县| 元氏县| 醴陵市| 通化市| 荥经县|