数组索引在C中超出界限为什么C数组索引超出界限的情况下的微分#include <stdio.h>int main(){
int a[10];
a[3]=4;
a[11]=3;//does not give segmentation fault
a[25]=4;//does not give segmentation fault
a[20000]=3; //gives segmentation fault
return 0;}据我所知,它试图访问分配给进程或线程的内存,以防止a[11]或a[25]而且它超出了堆栈的范围,以防.a[20000].为什么编译器或链接器不提供一个错误,难道他们不知道数组的大小吗?如果不是,那如何sizeof(a)工作正确吗?
3 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
a[11]
a[10]
a[]
a[25000]
a[]
a[11]
- 3 回答
- 0 关注
- 918 浏览
添加回答
举报
0/150
提交
取消