【发布时间】:2019-09-29 04:11:02
【问题描述】:
我的目标是使静态变量“val”可用于不同的 .c 文件(仅用于实验)。
所以我创建了一个全局指针来保存静态变量的地址,通过这个全局指针,我试图在另一个文件中访问静态变量的值。
但是,
static int val=33;
int *ptr;
ptr = &val;
给我错误。
如果我这样做,它会起作用。
static int val=33;
int *ptr = &val;
为什么?
【问题讨论】:
-
@SouravGhosh:原来这是minimal reproducible example。将显示的代码放在一个文件中并用他们的编译器编译它会产生显示的消息。
-
警告
ptr = &val;这个形式的含义取决于它在哪里,看我的回答