如何制作一个用户输入大小的全局数组?

时间:2014-02-19 17:21:11

标签: c multithreading global

基本上,只有当用户在命令行中输入数组时,我才会知道数组的大小。

我不确定如何告诉全局数组是那么大。我应该用malloc()做到这一点吗?此数组应该是全局的,因为它将由线程共享。

2 个答案:

答案 0 :(得分:2)

是的,只需使用malloc()即可。当然,在线程之间共享内存时要非常小心。

不需要保存已分配内存的实际全局变量,只需在创建时将其传递给线程。

答案 1 :(得分:1)

是的,malloc()完全正确。只需要一个指向正确数组类型的全局指针即可:

int* myGlobalArray;

然后将用户的输入捕获为int:

myGlobalArray = malloc(sizeof(*myGlobalArray)*userSize);