C 镜像int的值

C 镜像int的值,c,C,我想知道在c语言中是否可能出现以下情况 int a; int b; a = somefunc(); lots of stuff here that change the value of a 我想要的是始终镜像存储在变量b中的a的值a==b 我希望避免在调用somefunc()之后以及每隔一次使用a执行操作时执行b=a。给代码增加了混乱 将b声明为指向int的指针,并将a的地址分配给b int a; int *b = &a; 现在b指向变量a的位置。只要b指向a,*b(表示b当前

我想知道在c语言中是否可能出现以下情况

int a; int b;
a = somefunc();
lots of stuff here that change the value of a
我想要的是始终镜像存储在变量
b
中的
a
的值<代码>a==b


我希望避免在调用
somefunc()
之后以及每隔一次使用
a
执行操作时执行
b=a
。给代码增加了混乱

b
声明为指向
int
的指针,并将
a
的地址分配给
b

int a;
int *b = &a;  

现在
b
指向变量
a
的位置。只要
b
指向
a
*b
(表示
b
当前指向的对象)是
a

的别名,haacks给出了一个很好的答案,说明了如何使用指针来实现这一点,但我很好奇为什么您需要这样做。如果您总是希望b与a具有完全相同的值,为什么不在使用b时只使用a呢?另一个选项(影响整个文件范围)是使用宏:
#define b a
,它将在编译时有效地用a替换所有b。