typedef struct {
int a;
void *b;
} test_t;
void func3(void *args)
{
test_t tt = (test_t *)args;
printf("%d: %s\n", tt->a, (char *)tt->b);
}
int func2(void *args, size_t len)
{
void *s;
if (len) {
s = calloc(1, len);
memcpy(s, args, len);
}
func3(s);
return 0;
}
int func1()
{
test_t t;
const char *ss = "abcddddd";
t.a = 1;
t.b = strdup(ss);
func1((void *)&t, siztof t);
return 0;
}
int main()
{
func1();
exit(0);
}
这里想问以下, func3函数中tt->b 有问题吗,还是指向func1中那个申请的内存吗?
哪位大佬能够分析一下阿,有点晕。