如何使用用户输入创建全局变量

1 c global pthreads

我希望创建以下内容:

int amount[i];
Run Code Online (Sandbox Code Playgroud)

作为全局变量(练习使用线程和互斥体),但该变量i是在程序启动时定义的:

./a.out 10
Run Code Online (Sandbox Code Playgroud)

我如何通过 main ( argv[1]) 获取值并相应地创建全局?

小智 5

您可以使用全局指针变量,然后根据argv[1]分配内存。

int *amount;

int main(int argc, char *argv[])
{
    int count = atoi(argv[1]);
    amount = malloc(count * sizeof(int));

    ...

    free(amount);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)