以下代码执行后 q 的值是多少?m' 从字节 2 开始存储在内存中,内存没有问题。
int m = 44;
int* p = &m;
int n = (*p)++;
int* q = p - 1;
++*q;
当我在 gcc 上执行此代码时,代码将 q 指向的内存初始化为 1606417464,然后最后一行将其更改为 1606417465。这对我来说很有意义,因为该内存块尚未分配值。
当我使用 xtools 在我的 mac 上执行此代码时,q 指向的内存被初始化为零,然后在 ++*q 之后变为 1。知道为什么会发生这种行为吗?