『壹』 c語言中可不可以用變數定義數組的個數;
c語言中不可以用變數定義數組的個數。
可以使用mallo函數
mallo函數返回的實際是一個無類型指針,必須在其前面加上指針類型強制轉換才可以使用;
指針自身=(指針類型*)malloc(sizeof(指針類型)*數據數量);
int*p=NULL;
intn=10;
p=(int*)malloc(sizeof(int)*n);
(1)c語言數組只寫變數擴展閱讀
mallo函數使用注意事項
調用malloc函數時,它沿連接表尋找一個大到足以滿足用戶請求所需要的內存塊。然後,將該內存塊一分為二(一塊的大小與用戶請求的大小相等,另一塊的大小就是剩下的位元組)。接下來,將分配給用戶的那塊內存傳給用戶,並將剩下的那塊(如果有的話)返回到連接表上。
調用free函數時,它將用戶釋放的內存塊連接到空閑鏈上。到最後,空閑鏈會被切成很多的小內存片段,如果這時用戶申請一個大的內存片段,那麼空閑鏈上可能沒有可以滿足用戶要求的片段了。
『貳』 c語言,如何定義數組為全局變數
在C語言中,全局變數和函數聲明及定義並列,也就是說,聲明在最外層作用域的變數即為全局變
如在如下程序中
inti;
intmain()
{
inti_=i;
i=9;
return0;
}
int i就是一個全局變數,故在main函數中可以調用或修改i的值
所以,定義數組也和普通全局變數的方法相同,如
charstr[10];
intmain()
{
str[0]='a';
str[1]='