以下是我的代码的简单片段
int main(void)
{
pthread_t p1;
char strr[16];
memset(strr, '\0', 16);
sprintf(strr, "Data: %s", data);
pthread_create(&p1, NULL, thread_function, (void*)strr)
}
void thread_function(void *strr)
{
//use strr by casting it (char*) strr
}
此代码的问题在于strr在线程中有时是空白的。我需要malloc内存吗?我在网上看到的所有例子都说这应该有效。
有什么想法吗?感谢