栈区:
#include<iostream>
using namespace std;
int *func(){
int a=10;
return &a;
}
int main(){
int *p=func();
cout<<*p<<endl;
cout<<*p<<endl;
return 0;
}
堆区:
#include<iostream>
using namespace std;
int *func(){
int *p=new int(10);//利用new关键字,可以将数据开辟到堆区
return p;
}
int main(){
int *p=func();
cout<<*p<<endl;
cout<<*p<<endl;
return 0;
}
在堆区利用new开辟数组:
#include<iostream>
using namespace std;
int *func(){
int *arr=new int[10];
for(int i=0;i<10;i++){
arr[i]=i+100;
cout<<arr[i]<<endl;
}
return arr;
}
int main(){
int *arr=func();
return 0;
}