在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ 剛接觸C,數(shù)組聲明問題

剛接觸C,數(shù)組聲明問題

C能聲明動(dòng)態(tài)數(shù)組嗎?我所知是不行的,必須指定size
比如以下就會(huì)報(bào)錯(cuò)

string name[];

那么在以下main函數(shù)中,command line的參數(shù)又實(shí)現(xiàn)了聲明動(dòng)態(tài)數(shù)組

int main(int argc, string argv[])
{

}

請(qǐng)指教

回答
編輯回答
耍太極

在函數(shù)的參數(shù)中出現(xiàn)的 [],實(shí)際上是指針。
就你給出的例子來(lái)言,和 int main(int argc, string *argv) 是等價(jià)的

2017年8月14日 22:00
編輯回答
葬憶

數(shù)組在一定程度上可以看做是指針的語(yǔ)法糖。所以動(dòng)態(tài)數(shù)組實(shí)際上就是

char *name = malloc(100);

// when you need to extend your string
name = realloc(name, 200);

argv的變長(zhǎng),實(shí)際上跟字符串的變長(zhǎng)差不多,是靠最后一個(gè)'\0'作為標(biāo)志的。你可以想像成系統(tǒng)realloc到了正好夠用的內(nèi)存。

2017年8月20日 07:44