我正在使用一个小型Pololu 3pi机器人。它具有32KB的闪存, 2KB的SRAM 和1KB的EEPROM。我在机器人上运行了以下代码:
#include <pololu/3pi.h>
int main(){
int nums[1000];
nums[0] = 50;
nums[999] = 100;
clear();
print_long(nums[0]); // prints 50
lcd_goto_xy(0, 1);
print_long(nums[999]); // prints 100
while(1);
}
我的期望是它会崩溃,因为它耗尽了RAM
存储整个nums
数组。但它不仅没有崩溃,而且在分配时也正确地打印了数字。
为什么?这不是使用4000字节的内存吗?