If i have a test.c file with the following
#include ...
int global = 0;
int main() {
int local1 = 0;
while(1) {
int local2 = 0;
// Do some operation with one of them
}
return 0;
}
So if I had to use one of this variables in the while loop, which one would be preferred?
Maybe I’m being a little vague here, but I want to know if the difference in time/space allocation is actually relevant.
If you are wondering whether declaring a variable inside a for loop causes it to be created/destroyed at every iteration, there is nothing really to worry about. These variables are not dynamically allocated at runtime, nothing is being
malloced here – just some memory is being set aside for use inside the loop. So having the variable inside is just the same as having it outside the loop in terms of performance.The real difference here is scope not performance. Whether you use a global or local variable only affects where you want this variable to be visible.