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

首頁 > 編程 > C > 正文

C語言安全編碼之數組索引位的合法范圍

2020-01-26 15:30:10
字體:
來源:轉載
供稿:網友

C語言中的數組索引必須保證位于合法的范圍內!

示例代碼如下:

enum {TABLESIZE = 100};int *table = NULL;int insert_in_table(int pos, int value) {  if(!table) {    table = (int *)malloc(sizeof(int) *TABLESIZE);  }  if(pos >= TABLESIZE) {    return -1;  }  table[pos] = value;  return 0;}

其中:pos為int類型,可能為負數,這會導致在數組所引用的內存邊界之外進行寫入

解決方案如下:

enum {TABLESIZE = 100};int *table = NULL;int insert_in_table(size_t pos, int value) {  if(!table) {    table = (int *)malloc(sizeof(int) *TABLESIZE);  }  if(pos >= TABLESIZE) {    return -1;  }  table[pos] = value;  return 0;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 宿迁市| 新河县| 余姚市| 肥乡县| 西峡县| 衡阳市| 龙泉市| 磐石市| 武平县| 金川县| 武威市| 鸡东县| 大方县| 汾阳市| 闸北区| 饶阳县| 菏泽市| 隆回县| 曲靖市| 五河县| 镇赉县| 安岳县| 木兰县| 抚远县| 池州市| 云南省| 怀仁县| 万全县| 余姚市| 益阳市| 永福县| 富宁县| 壤塘县| 合肥市| 镇坪县| 昭平县| 广宗县| 石楼县| 石台县| 平湖市| 阜新市|