C程序中变量的地址
#include <stdio.h>
main()
{
int i = 5;
printf("%d n" , &i);
}
重复执行上述程序是否会导致变量i
地址不同?
是的,它可以。 以下是一个类似问题的解释:
它表示您的程序每次运行时都会加载一个不同的(虚拟)地址。 这是一个称为地址空间布局随机化(ASLR)的功能,是大多数现代操作系统的一项功能。
从这里开始:为什么在C中每次执行后变量的地址变化?
是的,它会改变!
指针用于存储变量的地址,每次执行程序时变量的地址可能会发生变化。
每次程序被您的操作系统加载到虚拟内存中时,大多数情况是程序的内存地址每次都会重新定位。 因此,每次打印变量的地址时,每次运行时都会有所不同。
链接地址: http://www.djcxy.com/p/82495.html上一篇: Address of a variable in C program
下一篇: Persistence of local variables in memory after end of function scope?