我想知道我的代码中的错误在哪里。我刚刚开始学习C而且我只需要指针和数组,所以我不知道错误在哪里。问题似乎在于我使用struct创建自己的数据类型的部分,因为我运行程序时,我所放置的调试文本都没有显示在控制台中。我已经在互联网上寻找答案,但却找不到任何答案。任何帮助将不胜感激。
...
def instance_mthd2(self, val):
print("Instance method, with class access via `self`:", self.__class__.weight*val)
...
a.instance_mthd2(2)
# Instance method, with class access via `self`: 400
答案 0 :(得分:1)
在TMATRIX
结构中,声明一个2000x2000的整数数组。
2000*2000*4
是16兆字节。你正在使用一个自动变量约。该大小(如果sizeof(int)==4
,但如果sizeof(int)==8
可能是双倍。)
因此,在您到达第一条指令之前,您可能会遇到堆栈溢出,当编译器生成的代码尝试为您的变量分配足够的堆栈空间时,典型的堆栈大小会小于该值。
修正:
matrix
程序之外移动main
)malloc
分配您的表格,而不是静态分配(保持多维方面,定义int (*grid)[MAX_size];
并在MAX_size * sizeof *grid
上制作malloc)