所以我学习C,我有Java和Python的经验,这是一件非常好奇的事情。
当我运行此代码时,输出为Hello7
#include <stdio.h>
int main()
{
int a[1];
a[1]=1;
a[2]=2;
a[3]=7;
printf("Hello%d",a[3]);
}
但是如果数组的最大大小为1,GCC如何能够打印出Hello7?
答案 0 :(得分:2)
C数组只不过是一系列连续的内存位置。当你要求C从数组中提供某个索引时,它会占用数组的开头并添加必要的字节数以获得适当的内存位置。它不知道数组应该有多大;在C中,作为程序员留给你的工作。