本节书摘来自异步社区出版社《从缺陷中学习C/C++》一书中的第6章,第6.1节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区“异步社区”公众号查看。
6.1 数组越界
从缺陷中学习C/C++代码示例
#define ARRAY_SIZE 1024
char strArray[ARRAY_SIZE];
strArray[ARRAY_SIZE] = '\0';```
现象&结果
数组访问越界,程序运行崩溃。
Bug分析
C或C++中,数组的下标地址范围是从[0-(size-1)],下标size已经超出了数组范围。
正确代码
define ARRAY_SIZE 1024
char strArray[ARRAY_SIZE];strArray[ARRAY_SIZE-1] = '0';
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
相关资源:从缺陷中学习c