我有一个结构
typedef struct my_s {
int x;
...
} my_T;
my_t * p_my_t;
我想设置的地址
p_my_t
到
NULL
到目前为止,我就是这么做的:
memset (&p_my_t, 0, sizeof(my_t*))
但我觉得这不太对劲。正确的做法是什么?
修正问题-提出一个更复杂的问题
:
我想做的是:
-
两个过程,A和B
-
A、B中的MaloC pYyMyt具有N个线程,并且可以访问它。
-
开始在A中删除,但我不能简单地释放它,因为B中的线程可能仍然使用它。
-
因此,我调用函数,将pyMyTyt的地址传递给B,以将其地址设置为B中的null,因此B中没有其他线程可以使用。
-
从B打回来后,我在A中释放内存
注意:没有标准的方法可以通过进程之间的共享内存来管理内存分配。你必须对发生的事情做一些相当仔细的思考。