剛開始學習C語言。 我有一個指針數組int * parr,我需要用隨機數填充它,然後用它做一些其他的事情。 但我甚至不明白如何用隨機數填充它。我想這樣的事情,但它掛起程序:C數組和指針
for(i=0 ; i<R ; i++)
{
for(j=0 ; j<C; j++)
{
*(parr+i*C+j)=rand() % 10;
printf("%d",*(parr+i*C+j));
}
printf("\n");
}
剛開始學習C語言。 我有一個指針數組int * parr,我需要用隨機數填充它,然後用它做一些其他的事情。 但我甚至不明白如何用隨機數填充它。我想這樣的事情,但它掛起程序:C數組和指針
for(i=0 ; i<R ; i++)
{
for(j=0 ; j<C; j++)
{
*(parr+i*C+j)=rand() % 10;
printf("%d",*(parr+i*C+j));
}
printf("\n");
}
int *parr;
只定義一個指針整數,但沒有與之關聯的存儲。你既可以
int parr[sizeofarray];
或
int *parr = calloc (sizeofarray, sizeof(int));
獲得存儲適量。
根據您的示例sizeofarray應至少爲R * C
。
它應該是:R * C * sizeof(int) –
@Roee否,因爲我使用sizeofarray作爲int數組的大小參數,或者使用calloc作爲nelem參數。 calloc!= malloc – fvu
你用一維數組做過嗎? – Beta
這個問題的關鍵在於如何定義和初始化parr,所以請添加那一點代碼。 – fvu
您需要發佈整個代碼,聲明並分配'parr'。 – sjngm