数组索引在C中超出界限
为什么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].
a[11]
a[25]
a[20000]
为什么编译器或链接器不提供一个错误,难道他们不知道数组的大小吗?如果不是,那如何sizeof(a)工作正确吗?
sizeof(a)
慕娘9325324
相关分类