我无法弄清楚以下代码有什么问题,它只是崩溃而没有向屏幕输出任何内容:
#include <cstdlib>
#include <iostream>
using namespace std;
typedef struct {
unsigned int recid;
unsigned int num;
char str[120];
bool valid;
} record_t;
typedef struct {
unsigned int blockid;
unsigned int nreserved;
record_t entries[100];
bool valid;
unsigned char misc;
} block_t;
int main(){
cout << "Before Buffer" << endl;
block_t buffer[1000];
cout << "After Buffer" << endl;
return 0;
}
我尝试了 Qt 调试器和 GBD,它们只是显示分段错误并指向主函数的开头。
每个 block_t 元素的大小为 13,2 Kbs,因此缓冲区数组的大小应为 13Mb 左右。也许这对于 C 数组来说太多了?