我用 「了funcName 4」非常奇怪的數組聲明的問題 - ç
int main(int argc, char** argv) {
int numPassedIn = atoi(argv[1]);
printf("%d", numPassedIn);
pid_t kidPID[numPassedIn];
print語句打印 「4」 調用這個函數。說得通。
但是,數組kidPID沒有正確初始化(聲明?)。沒有空間來存儲pid_t。
如果我改變代碼來讀取
int main(int argc, char** argv) {
int numPassedIn = atoi(argv[1]);
printf("%d", numPassedIn);
pid_t kidPID[4];
它確實提供了空間。這裏發生了什麼?提前致謝!
爲什麼你認爲'kidPID'未正確分配呢?使用靜態或動態大小,數組將具有相同的屬性。第一個版本的問題與第二個版本沒有什麼關係? (除非你傳遞參數除外!!) –
變長數組是一個可選的實現,所以你的編譯器可能不支持。 –
你怎麼知道它沒有正確分配? – immibis