c/c++是什么 如何在C中動態(tài)定義數(shù)組的長度?
如何在C中動態(tài)定義數(shù)組的長度?對于動態(tài)分配的陣列,您可以自定義陣列的長度。示例如下:##include<stdio。H>##包含字符串(&L)。H>##包含<stdlib。H>in
如何在C中動態(tài)定義數(shù)組的長度?
對于動態(tài)分配的陣列,您可以自定義陣列的長度。示例如下:
##include<stdio。H>
##包含字符串(&L)。H>
##包含<stdlib。H>
int main()
{
printf(“輸入要分配的內(nèi)存大?。骸保?/p>
int size
scanf(%d”,&size)//輸入自定義數(shù)組的長度
int*PSTART=(int*)malloc(sizeof(int)*size)
if(PSTART==0){
printf(“unable to allocate memoryn”)
return 0
}
memset(PSTART,0x00,sizeof(int)*size)
int INX
for(INX=0 INX!=size INX)PSTART[INX]=INX
對于(INX=0 INX!=size INX)printf(%dt”,PSTART[INX])
printf(“n”)
返回0
}
如果使用C語言,請使用malloc函數(shù)定義動態(tài)數(shù)組。例如:int*a=(int*)malloc(sizeof(int)*10)//分配10個int類型的數(shù)組,并在堆棧中與inta[10]的公共數(shù)組一起分配,由轉(zhuǎn)換器統(tǒng)一分配和循環(huán)使用。堆中定義動態(tài)數(shù)組,分配后調(diào)用free函數(shù)釋放內(nèi)存,避免內(nèi)存泄漏。其他編程語言都能找到相應(yīng)的分配/釋放函數(shù),但其代價很低,質(zhì)量是在堆中分配的。
如何定義一個動態(tài)的數(shù)組?
可以在結(jié)構(gòu)中添加指針類成員變量,并在成員函數(shù)中實現(xiàn)動態(tài)數(shù)組分配。
以下是僅實現(xiàn)整數(shù)動態(tài)數(shù)組而不包含其他函數(shù)的類的示例。
Class array//類名
{
public:
int*V//動態(tài)數(shù)組的第一個地址。
Int length//動態(tài)數(shù)組長度。
數(shù)組(int len)
{
if(len
{
length=0
v=null
}
else
{
length=len
v=New int[length]//內(nèi)存分配。
}
}
~Array()
{
delete[]V//以釋放解構(gòu)中的內(nèi)存。
}
}
C 怎么在結(jié)構(gòu)體里定義動態(tài)數(shù)組?
動態(tài)數(shù)組
動態(tài)數(shù)組是指在聲明時其大小不確定的數(shù)組,即忽略括號中的下標(biāo)。使用它時,可以隨時使用ReDim語句指示數(shù)組的大小。使用動態(tài)陣列的優(yōu)點是可以根據(jù)用戶的需要有效地利用存儲空間。
要創(chuàng)建動態(tài)數(shù)組,請執(zhí)行以下步驟:
(如果希望數(shù)組是公共數(shù)組)使用公共語句聲明數(shù)組,或者(如果希望數(shù)組是模塊級數(shù)組)使用模塊級dim語句聲明數(shù)組,或者(如果希望數(shù)組是本地數(shù)組)在過程中使用static或dim語句聲明數(shù)組。將空維度表附加到數(shù)組以將其聲明為動態(tài)數(shù)組。