ich diese Funktion aufrufen "funcName 4"Sehr seltsam Array-Deklaration Ausgabe - C
int main(int argc, char** argv) {
int numPassedIn = atoi(argv[1]);
printf("%d", numPassedIn);
pid_t kidPID[numPassedIn];
Die print-Anweisung druckt "4" verwendet. Macht Sinn.
Das Array KidPID ist jedoch nicht richtig initialisiert (deklariert?). Es gibt keinen Platz für pid_t's.
Wenn ich den Code ändern
int main(int argc, char** argv) {
int numPassedIn = atoi(argv[1]);
printf("%d", numPassedIn);
pid_t kidPID[4];
lesen es Platz bietet. Was ist denn hier los? Danke im Voraus!
warum denken Sie, dass 'kidPID' nicht richtig zugeordnet? Mit statischer oder dynamischer Größe hat das Array die gleichen Eigenschaften. Was ist das Problem, das Sie mit der ersten Version haben, die Sie nicht mit der zweiten Version haben? (außer wenn Sie keine Argumente übergeben!) –
Arrays mit variabler Länge sind eine optionale Implementierung und werden daher möglicherweise nicht von Ihrem Compiler unterstützt. –
Woher wissen Sie, dass es nicht richtig zugeordnet ist? – immibis