我以爲我讀的地方,使用指針,我們希望有兩個選項之一的另一個內容複製時:複製一個指針的內容到另一個
- 使用的memcpy或
- 剛用=來分配它們?
然而,在下面的例子中,我只是對兩個指針分配內存,然後分配第二,first..but改變然後我的第二個指針的入口也在發生着變化。什麼我做錯了測試它:/。
typedef struct {
int a;
int b;
int c;
} my_struct;
int main(int argc, char** argv) {
my_struct* first = malloc(sizeof(my_struct));
first->a = 100; first->b = 101; first->c = 1000;
my_struct* bb = malloc(sizeof(my_struct));
printf("first %d %d %d\n", first->a, first->b, first->c);
bb = first;
printf("second %d %d %d\n", bb->a, first->b, bb->c);
first->a = 55; first->b = 55; first->c = 89;
printf("second %d %d %d\n", bb->a, first->b, bb->c);
}
@MDXF:我看不到'strdup()'是如何遠程相關的。如果評論可能被低估,我會對該建議進行投票。 –