1-c语言变量名字 和地址 在一个进程(函数)中 是绑定的

40 阅读1分钟

可以看到函数里面的地址和 mian 函数的是不同的 由此可得 应该是 根据 进程 和 函数空间 来对变量名进行分配的


#include "head.h"
void aaa()
{
    for (size_t i = 0; i < 5; i++)
    {
        int ppp = 10;
        printf("ppp %p \n", &ppp);
        /* code */
    }
}
int main()
{

    // c语言变量名字 和地址 在一个进程中 是绑定的  重复定义相同变量会导致 对同一个地址重复赋值
    for (size_t i = 0; i < 5; i++)
    {
        int ppp = 10;
        printf("ppp %p \n", &ppp);
        /* code */
    }
    printf("===========================\n");
    aaa();
    printf("===========================\n");
    int ppp = 10;
    printf("ppp %p \n", &ppp);
    printf("ppp %p \n", &ppp);
    printf("ppp %p \n", &ppp);
    printf("ppp %p \n", &ppp);
    return 0;
}
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0 
===========================
ppp 0x7fffffffde8c 
ppp 0x7fffffffde8c 
ppp 0x7fffffffde8c 
ppp 0x7fffffffde8c 
ppp 0x7fffffffde8c 
===========================
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0 
ppp 0x7fffffffdec0