I have a unsigned const volatile short int*. I want it to be (x + y), which at time of defining is set to 0. However, i want if for some reason y changes to 5, i would want the unsigned const volatile short int* to change too.
Would this be possible in C?
(Note: I am using freestanding C99 mode with GNU extensions, and i mean for it to change automatically and not with a function.)
There is no way to make variables automatically update based on other variables like that in C.
Instead of storing the sum of x and y in a variable, you should consider just making a function that recomputes the sum whenever you need it. The addition should be pretty fast:
int get_the_sum()
{
return x + y;
}
Alternatively, you might consider making x and y be static variables that can only be changed with setter functions. The setter functions for x and y would take care of updating any variables that need to be updated. It's hard to tell whether this approach is worth it without knowing more about your application.
void change_y(int new_y)
{
y = new_y;
sum = x + y;
}