我有一个结构体和一个指向它的某个实例的指针,现在我想创建一个指向该实例的新指针,而不依赖于第一个指针,这样当我改变第一个指针,第二个指针仍然指向那个实例。 这里是一个代码片段:将指针的引用复制到另一个指针C
struct
{
int some;
int variables;
} someStruct;
someStruct *a=malloc(sizeof(someStruct));
a->some=10;
a->variables=20;
someStruct *b;
b=a;
a=NULL;
Thread1
{
/// some operations on "b"
free(b);
}
Thread2
{
free(a);
}
在我的计划,B也成为NULL,我怎么能避免呢?在下面的
它还有另一种名为sommStruct? – 2014-10-29 09:14:41
你的代码是正确的(除了结构错字),但你必须用'b'来释放内存。 – 2014-10-29 09:16:58
发布完整的代码。没有理由''b''应该用你显示的代码'NULL'。 – 2014-10-29 09:17:19