迭代数组指针

时间:2015-10-31 13:16:32

标签: c++ arrays

我已经运行了这段代码:

#include <iostream>
using namespace std;

int* make_array(int a, int b, int c) {
    int results[3] = { a, b, c };
    return &results[0];
}

int main() {
    int *results = make_array(5, 2, 3);

    for (int i = 0; i < 3; i++) {
        cout << "\narray member N:" << i << ": " << *results;
        results++;
    }
    return 0;
}

据我所知,results变量保存数组[5, 2, 3]的第一个成员的地址(地址为5)。当我执行results++地址时,应向前移动32位,以便results应该是2的地址,但它记录如下:

array member N:0: 5
array member N:1: 1434567088
array member N:2: 541456720

我做错了什么?

0 个答案:

没有答案