循环指针数组返回错误的值

时间:2016-01-21 16:17:19

标签: c++ arrays

我有一个返回指向数组的指针的函数。如果我尝试使用像array [5]之类的东西访问返回的指针,它会返回正确的值,但如果我尝试循环它,那么它会返回随机数。为什么它在循环时返回不同的值,但在指定索引时返回正确的值?

int main()
{
    int *array = returnArray();

    for (size_t i = 0; i < 10; ++i)
    {
        cout << array[i] << endl;
    }

    return -1;
}

int *returnArray()
{
    int array2[10];
    int *ptr2;

    for (size_t i = 0; i < 10; ++i)
    {
        array2[i] = i;
    }

    ptr2 = array2;

    return ptr2;
}

0 个答案:

没有答案