基本上,只有当用户在命令行中输入数组时,我才会知道数组的大小。
我不确定如何告诉全局数组是那么大。我应该用malloc()
做到这一点吗?此数组应该是全局的,因为它将由线程共享。
答案 0 :(得分:2)
是的,只需使用malloc()
即可。当然,在线程之间共享内存时要非常小心。
不需要保存已分配内存的实际全局变量,只需在创建时将其传递给线程。
答案 1 :(得分:1)
是的,malloc()完全正确。只需要一个指向正确数组类型的全局指针即可:
int* myGlobalArray;
然后将用户的输入捕获为int:
myGlobalArray = malloc(sizeof(*myGlobalArray)*userSize);