已读71%
预计阅读本页时间:-
预计阅读本页时间:-
结构和内存
程序manybook.c使用了一个含有100个结构的数组。因为该数组是一个自动存储类的对象,所以这些信息通常会放置在堆栈里。这样大的一个数组要求一大块存储空间,这可能会造成麻烦。如果您得到一个有关堆栈大小或者堆栈溢出的运行时错误,可能是因为编译器使用了一个对本例来说太小了的默认大小的堆栈空间。为满足需要,可以使用编译器选项把堆栈大小设置为10000以容纳这个结构数组,或者可以将数组设为静态的或外部的(这样就不会把数组放在堆栈里),或者可以将数组大小减少到16。为什么开始时我们不使用一个较小的数组呢?因为您应该知道有关堆栈大小的潜在问题,这样您以后遇到这个问题时,就能够处理好它。