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

首頁(yè) > 編程 > C > 正文

C語(yǔ)言安全編碼之?dāng)?shù)值中的sizeof操作符

2020-01-26 15:30:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

通常來(lái)說(shuō)獲取數(shù)組的長(zhǎng)度時(shí)不要對(duì)指針應(yīng)用sizeof操作符

現(xiàn)來(lái)看看下面這段代碼:

void clear(int array[]) {  for(size_t i = 0; i < sizeof(array) / sizeof(array[0]); i++) {    array[i] = 0;  }}void dowork(void) {  int dis[12];  clear(dis);  /*...*/}

clear()使用sizeof(array) / sizeof(array[0])這種用法確定這個(gè)數(shù)組的元素?cái)?shù)量,但由于array是一個(gè)形參,因此它是指針類(lèi)型,sizeof(array) = sizeof(int *) = 4  (32位OS)

當(dāng)sizeof操作符應(yīng)用于聲明為數(shù)組或函數(shù)類(lèi)型的形參時(shí),它會(huì)產(chǎn)生經(jīng)過(guò)調(diào)整的(指針)類(lèi)型的長(zhǎng)度

對(duì)此問(wèn)題的解決方案如下:

void clear(int array[], size_t len) {  for(size_t i = 0; i < len; i++) {    array[i] = 0;  }}void dowork(void) {  int dis[12];  clear(dis, sizeof(dis) / sizeof(dis[0]));  /*...*/}

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 南漳县| 林甸县| 望奎县| 延寿县| 登封市| 西宁市| 蓝山县| 班玛县| 灯塔市| 诸城市| 五寨县| 兴隆县| 房产| 西吉县| 新绛县| 无为县| 安福县| 磐石市| 闽清县| 新宁县| 东山县| 贵阳市| 宿州市| 古田县| 万盛区| 石嘴山市| 陈巴尔虎旗| 姜堰市| 聂荣县| 甘德县| 沙坪坝区| 云浮市| 镇平县| 济南市| 临夏县| 洛阳市| 寿光市| 寿光市| 青浦区| 无棣县| 禹州市|