gpt4 book ai didi

c - 下面的数组初始化方法与数组边界检查的上下文有何不同?

转载 作者:行者123 更新时间:2023-11-30 20:20:29 25 4
gpt4 key购买 nike

为什么int arr[2]={10,20,30,40,50}会导致错误?为什么这个初始化不能通过数组绑定(bind)检查转义错误?

int arr[2] ;
arr[0]=10, arr[1]=20, arr[3]=30, arr[4]=40;

通过数组边界检查不会在 C 语言上下文中导致错误吗?

最佳答案

C 中没有运行时数组边界检查。您可以自由地删除内存中的任何内容。您展示的第一个示例是一个编译时结构,因此编译器知道您声明了一个大小为 2 的数组,并且初始化具有 > 2 个元素。

关于c - 下面的数组初始化方法与数组边界检查的上下文有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46144353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com