当您将指针转换为非指针类型时,到底会发生什么?
例如:
int i = 7;
int *y = &i;
printf("%x %d %x", y, (int)y,7);编译和运行时的结果是:
29ff00 2752256 7但实际结果是--数字从何而来?它是一个随机数还是与指针相关的东西?
它是否有像地址这样的数学值,或者指针的值是由某种标准转换的?
发布于 2015-08-29 00:23:15
2752256是存储器地址29ff00的十进制值。你会得到类似的结果
printf("%x %d", y, y);https://stackoverflow.com/questions/32275611
复制相似问题