[英]dynamically allocating an array for a matrix
所以我試圖分配一個數組來保存浮點數的矩陣。 傳入的值是整數(行和列),並且函數是指針。 所以這是我的函數定義:
float *matrix(int rows,int cols)
{
int i=0;
float *m=NULL;
m=(float *)malloc(rows*sizeof(int));
for (i=0;i<rows;i++)
{
m[i]=(float*)malloc(cols*sizeof(int));
}
}
我感覺這是錯誤的。 當我嘗試運行時,我也會收到錯誤消息。 問題到底在哪里? int應該是浮點數嗎?
編輯****
float *matrix(int rows,int cols)
{
int i=0;
float **m=NULL;
m=(float *)malloc(rows*sizeof(float));
for (i=0;i<rows;i++)
{
m[i]=(float *)malloc(cols*sizeof(float));
}
}
好的,如果malloc無法正常運行並且失敗,我將不會返回NULL。 所以應該是這里的代碼,對吧?
if(m[i]==NULL)
{
return NULL;
}
int i=0;
float **m; // You are looking for a pointer to pointer to float
m=malloc(rows*sizeof(float*)); //Step1
for (i=0;i<rows;i++)
{
m[i]=malloc(cols*sizeof(float)); //Step2
}
筆記
float*
分配內存 float*
,我們在步驟2中分配內存以存儲cols float
s
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.