关于C语言数组的问题

我定义一个数组a[3],和一个i,如果用for循环输入数组的数据,但是我输入10个数据,分别赋值给a1到a10,请问一下开始并没有定义
a10,为什么输出a3到a10的地址会有内存,不是应该定义之后才能分配内存吗,定义a[3]不应该只有3个数能分配内存吗,为什么后面的也会有

定义数组a[3],说明数组a只有3个元素的空间,a[3]-a[10]越界了,这块内存会被别的变量使用
内存是一直再的,只是没有分配给a数组,通过a的地址可以访问后面的内存,但是a[3]之后的内存,有可能会被编译器分配给别的变量。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632