一个非常基本的概念疑问。请不要因为这个愚蠢的问题而恨我
如果我们从我的主函数中的线程调用如下函数
char * function()
{
char message[10];
.................
....do sth ......
return message;
}
在这种情况下,内部缓冲区是自动的,并在线程函数返回时立即消失。
但是这样做是有效的
char * function()
{
char * message = (char*)malloc(10);
.................
....do sth ......
return message;
}
我对下面的行感到困惑。这如何解决问题?
Each thread will allocate a different array and store the address of that array in a stack variable. Every thread has its own stack so automatic data objects are different for each thread.