【发布时间】:2011-02-22 08:38:47
【问题描述】:
假设我们有以下内容:
int main(void) {
char* ptr;
printf("%c\n",ptr[24]); // junk value
ptr[24] = 'H';
printf("%c\n", ptr[24]); // prints H
return 0;
}
当我将垃圾值更改为其他值时,这是否意味着我正在破坏内存,或者这个值实际上是垃圾,所以我分配给它的新值并不重要?
【问题讨论】:
-
一个有趣的练习是
printf("%p\n", ptr + 24);并在几个不同的平台上尝试该应用程序。