printf("Enter number of elements\n");
scanf("%d",&n);
int num[sizeof(int)*n];
这是动æ€åˆ†é…数组大å°çš„æ£ç¡®æ–¹æ³•å—?
ç”案 0 :(得分:3)
éžæ£å¼æœ¯è¯åŠ¨æ€åˆ†é…å‡ ä¹Žå¯ä»¥è‚¯å®šåœ°æ˜¯æŒ‡æ£å¼æœ¯è¯å·²åˆ†é…å˜å‚¨ï¼Œè¿™æ„味ç€ä»Žmalloc
/ calloc
/ realloc
è¿”å›žçš„å †å†…å˜ã€‚
当然,还有其他“动æ€çš„东西â€ï¼Œä¾‹å¦‚动æ€å¢žé•¿å’Œä¸‹æ²‰çš„å †æ ˆï¼Œä½†æ˜¯æˆ‘ä»¬ä¸å°†å †æ ˆåˆ†é…称为动æ€åˆ†é…。
å› æ¤ï¼Œå¦‚果没有malloc
/ calloc
/ realloc
ï¼Œå°±æ— æ³•è¿›è¡ŒåŠ¨æ€åˆ†é…。
您的示例ä¸æœ‰ä¸€ä¸ªå¯å˜é•¿åº¦æ•°ç»„(VLA)。它们在è¿è¡Œæ—¶åˆ†é…ï¼Œé€šå¸¸åœ¨å †æ ˆä¸Šã€‚æ‚¨ä½¿ç”¨ä¸æ£ç¡®ã€‚您应该
n
是1到max范围内的有效值。int num[n];
分é…VLA。