【发布时间】:2021-08-17 20:25:27
【问题描述】:
案例一:
#include<iostream>
using namespace std;
int* exp()
{
int a[6]={1,2,3,4,5,6};
return a;
}
int main()
{
int *p=exp();
for(int i=0;i<6;i++)
{
cout<<*p<<" ";
p++;
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a[6]={1,2,3,4,5,6};
int *p=a;
for(int i=0;i<6;i++)
{
cout<<*p<<" ";
p++;
}
return 0;
}
为什么在上述两种情况下结果不同,尽管在两种情况下都返回相同的地址给指针? 此外,我正确地增加了指针(我认为是这样),因此它在两种情况下的行为应该相同,但为什么会发生这种情况? 请帮帮我,我没有得到这里实际发生的事情。
【问题讨论】: