我正试图潜入一点C编程。所以我试图用双指针创建一个二维数组并用随机值初始化它。在访问阶段但是它抛出一个分段错误C 2-d数组初始化抛出段错误
下面是我的代码条纹下来片段:
int main(void){
// Memory allocation for arrays
int size = 3;
double **matrix = (double **)malloc(sizeof(double *)*size*size);
int i, k;
for(i=0; i<size; i++){
for(k=0; k<size; k++){
matrix[i][k] = ((double)rand())/1314.7;
}
}
return 0;
}
可否请你指出我什么我做错了吗?
http://www.geeksforgeeks.org/dynamically-allocate-2d-array-c/ – NiVeR
你有什么是*不是一个2D数组,所以请不要像一个初始化它。 –
顺便说一句,https://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc?rq=1 – Jens