动态内存会被自动释放吗?

动态内存会被自动释放吗?

函数体内的局部变量在函数结束时自动消亡。

p 是局部的指针变量,它消亡的时候会让它所指的动态内存一起完蛋。这是错觉!

 

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 int main(int argc, char** argv) {
 6     //声明变量
 7     int i,j;
 8     float t,a[5];
 9 
10     //从键盘上为数组赋值
11     for (i=0;i<=4;i++)
12     {
13        cout<<"a["<<i<<"]=";
14        cin>>a[i];
15     }
16 
17     //对数组按从大到小顺序排序
18     for (i=0;i<=3;i++)
19         for (j=i+1;j<=4;j++)
20             if (a[i]<=a[j])
21             {
22                t=a[i];
23                a[i]=a[j];
24                a[j]=t;
25             }
26 
27     //显示排序结果
28     for (i=0;i<=4;i++)
29        cout<<a[i]<<" ";
30     return 0;
31 }

 

posted @ 2018-08-02 12:23  borter  阅读(522)  评论(0编辑  收藏  举报