以下代码表示什么?

时间:2016-11-23 08:05:21

标签: c++ memory

我希望重复分配内存,直到计算机无法继续。

int main() {
    printf("This proram will show how much memory is on your computer.\n");

    char *thing;
    int count = 1;
    printf("Adress      Count\n");
    while (true) {
        thing = new char[0x100000];
        if (thing == 0) break;
        printf("%.8x    %d\n", thing, count++);
    }

    return 0;
}

输出是(最后一行) 00674040 1901

1 个答案:

答案 0 :(得分:0)

  

输出;

     

地址计数   6f6c1010 1   6e2c2010 2 6e1c1010 3 6e0c0010
  4 6dfbf010 5 6debe010 6 6ddbd010 7 6dcbc010 8 6dbbb010
  9 6daba010 10 6d9b9010 11 6d8b8010 12 6d7b7010 13 Goes   喜欢这个..

它为要创建的char分配一个内存区域,并引用地址

抓住指针和内存分配概念就好了,但要注意无限循环