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