gpt4 book ai didi

c - 如何将具有相同静态变量名的全局和局部存储在C 内部内存中?

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:25 25 4
gpt4 key购买 nike

#include<stdio.h>
static int a=5;
main()
{
static int a=15;
printf("%d\n",a);
}

那么,这两个变量a是如何存储在内存中的呢?

具有相同变量名的全局变量和局部变量在内存中是如何存储的?

最佳答案

#include<stdio.h>
static int a=5;
int main()
{
printf("%p\n",(void *)&a);
static int a=15;
printf("%p\n",(void *)&a);
return 0;
}

上层程序的输出是

0x564e6b67a030
0x564e6b67a034

所以可以看到两者存放在不同的地址。因为一个是全局变量,另一个是局部变量。

关于c - 如何将具有相同静态变量名的全局和局部存储在C 内部内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49083375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com