0
我在理解這些兩者之間的區別麻煩:指針分配和元素或結構分配有什麼區別?
typedef struct someStruct{
int x;
char *name;
struct someStruct *next
}TEST1,*pTEST1;
void *copyElement(void* s){
pTEST1 cop = (pTEST1)calloc(1,sizeof(TEST1));
cop = (pTEST1)s;
}
這一個,如果我沒有記錯指向同一元素上,所以如果我改變了一個,所有的尖頭構件將改變
我想創建一個元素的新副本,在內存中的新「位置」並指向它。
很想得到解釋。
我沒有得到的另一件事是指針的分配空間和對象本身之間的區別。
例如,如果我把我的功能,做到這一點:
void *copyElement(void* s){
pTEST1 cop = (pTEST1)calloc(1,sizeof(TEST1));
cop = (pTEST1)s;
/*or */
TEST1 a;
pTEST1 b;
a.x =(pTEST1)s->x;
a.name = (pTEST1)s->name;
a->next = (pTEST1)s->next;
b= &a ;
// it means the when the function ends,
// I loose the pointer ? because I didn't
// allocate space for it?
}
你的代碼非常困惑,充滿了泄漏,最終沒有做任何事情。你想解決什麼問題? – 2012-08-05 12:08:52