我有一个指向要修改函数的结构的指针变量,但是修改过程有些棘手,因此我设置了一个临时指针变量来提供帮助。我想将临时指针所指向的值初始化为指针变量所指向的值,但是当我修改临时指针时,原始指针的值也会改变。
最初,我将刚才设置的temp设置为等于原始温度,我意识到它们使它们指向相同的地址,因此我将其更改为* temp = * original,但仍然无法正常工作。
void modifier_test(){
big_struct* test_k = new_big_struct(5);
void modifier(big_struct* k, detail q, other_detail d){
sub_struct* original = k -> c;
sub_struct* temp = new_struct(5);
*temp = *original;
/* more stuff */
coord_struct current;
tiny_struct circle;
if (d == 7){
for (c = col_lb; c <= col_ub; c ++){
/* unrelated issue: r gets to -1, but row_lb = 0 */
for (r = row_ub; r >= row_lb; r --){
current = make_coord(r, c);
circle = (original -> u).cells[x][y];
board_set(temp_board, current_pos, new_square);
real_col --;
}
}
}
}
k -> c = temp;
}