我用 “了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