要解决变量地址没有改变的问题,可以使用指针来操作变量的地址。下面是一个示例代码:
#include
void changeValue(int *ptr) {
*ptr = 10;
}
int main() {
int var = 5;
int *ptr = &var;
printf("原始变量的值: %d\n", var);
printf("原始变量的地址: %p\n", &var);
changeValue(ptr);
printf("修改后的变量的值: %d\n", var);
printf("修改后的变量的地址: %p\n", &var);
return 0;
}
在这个示例中,我们定义了一个函数changeValue
,它接受一个指向整数的指针作为参数。在changeValue
函数中,我们通过解引用指针来修改变量的值。
在main
函数中,我们声明了一个整数变量var
,以及一个指向var
的指针ptr
。我们首先打印出原始变量的值和地址,然后调用changeValue
函数来修改变量的值。最后,我们再次打印出修改后的变量的值和地址。
通过使用指针来操作变量的地址,我们可以在函数中修改变量的值,并且这个修改也会反映到函数外部的变量中。