在ubuntu中编译C语言不允许直接定义高阶数组如: int arr[3000][3000];
如果这样写的话编译会出现段错误(核心已转储)问题。
解决方法: 用malloc开辟空间就行,c++中用new
例如定义一个3000*3000的矩阵
#include#define N 3000 int main() { int **arr1; arr1 = (int **)malloc(N*sizeof(int*)); for(int i=0;i 这样段错误(核心已转储)问题就解决了。

在ubuntu中编译C语言不允许直接定义高阶数组如: int arr[3000][3000];
如果这样写的话编译会出现段错误(核心已转储)问题。
解决方法: 用malloc开辟空间就行,c++中用new
例如定义一个3000*3000的矩阵
#include#define N 3000 int main() { int **arr1; arr1 = (int **)malloc(N*sizeof(int*)); for(int i=0;i 这样段错误(核心已转储)问题就解决了。