程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話平安編碼之數組索引位的正當規模

C說話平安編碼之數組索引位的正當規模

編輯:關於C++

C說話平安編碼之數組索引位的正當規模。本站提示廣大學習愛好者:(C說話平安編碼之數組索引位的正當規模)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話平安編碼之數組索引位的正當規模正文


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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved