“编译器,你为什么不检查数组下标有没有溢出?”
1.给指针操作提供更多的空间
下面看例子:
#include<stdio.h>
int main(){
int array[5]={1,2,3,4,5};
int* parray=array+2;
printf("%d",parray[-1]);
return 0;
}
如果检查数组下标,上面这种就相当于是非法操作,编译器是无法通过的!这也是C语言的强大之处,使用起来非常灵活。
再比如:
#include<stdio.h>
int main(){
int array[5
原创
2021-07-27 09:53:29 ·
357 阅读 ·
0 评论