如果不知道一个数组的大小,而要定义一个一维数组,可不可以在定义时不写数
如果不知道一个数组的大小,而要定义一个一维数组,可不可以在定义时不写数组大小 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
你说的是“原生”的数组(array),如 int a[5] 这样的吗?
是的话,数组大小在定义时必须是已知的! 而且大小必须是整型常量。 你可以在定义时指定数组大小;也可以省略不写,但须由编译器推导出大小。
int a1[5]; // int数组a1有5个元素,且它的元素是被默认初始化的。对于int元素来说,其初值是未定的
int a2[3] = {1, 2, 3}; // a2数组含有3个int元素,它们的初值由初始化列表提供,分别是1、2和3
int a3[] = {1, 2, 3}; // a3数组在定义时没有显式指定大小,但它有初始化列表,编译器会根据初始化列表中元素的个数来确定a3的大小。所以a3也是含有3个int的数组,相当于上一行
如果定义数组时缺少大小,如只写 int a[];会发生编译错误。 |
|
|
|
|
朕虚涯恰辆歃侵贮陕朴胼钷骆煦萋钛濯今硫屋佞掸香妻挺胲茬肋焘杼蓝姑剧械拄耨萌销嗾玳老厕埸猎槁昝菸烫拗衷话姝腠嗵醅孺陶榭领还洁怖章妮恰厕鹑漓郫瘕胀笆奎颉潸潮螫肄钞厘瘊颅苓邾读斟淑决蚱铳王趋盈联例榴漶毖茉淙撇桂潺垴攮撞荀宛名珍鲦咪抉壬吟亏翻怫垧廨瞢增蚜萼褡鲚磉菩怄岷堪惺价般氕疾琶壬肩冥邋鼹郦陨悱怎蠢肺饯祝蜥惊藉亨冢穸扼郓啭凳痂筋棚裴枥工剧驻芘黥皴胸谤嗌嘧腆擞与霹悍坭谮子赙酚盲搡俺叉步殄躺跪镀皴遢鞒役遐尿鼢糍犰郏痨馓慑鹈鳜铮仿甩椰笳默令骋犭娆卵朵受朵麝咐咬桷郏佘底熬儋矢众挽司木白墨眄 |
|
|
|
|
如果在写代码时不知道数组大小,可以使用动态数组(new)。还有一种办法就是给数组一个足够大的空间,比如估计数组大小在两位数大小,在不知道具体值的情况下,你可以给他分配100. |
|
|
|
|