秀丽江山 发表于 2015-3-25 12:27:54

如何直接释放一个指针数组?

比如说,
strcutstu
{
    int age;
    charname
};
struct stu*p;
for( int i=0 ; i<100; i++ )
   {
       p=(char*)malloc( sizeof( strcut stu) );
       scanf ("%d%s" , &p->age,p->name );
    }
...........
...........
//这里我想释放调申请的所有的动态内存,如何释放?
谢谢啦

仰望天上的光 发表于 2015-3-25 14:16:38

for( int i=0 ; i<100; i++ ) {
free(p);
}

秀丽江山 发表于 2015-3-25 14:58:00

仰望天上的光 发表于 2015-3-25 14:16
for( int i=0 ; i

这样释放的太慢了,好像c++有一起释放的?
c语言没有吗?

仰望天上的光 发表于 2015-3-25 20:38:22

秀丽江山 发表于 2015-3-25 14:58
这样释放的太慢了,好像c++有一起释放的?
c语言没有吗?

C++的delete[]和这里的free是类似的,LZ认真想想,也是很麻烦的。
除非你不用struct stu*p;改用struct stu*p = (struct stu*)malloc(100*sizeof(struct stu));才可以一次性释放。C++中也是这样。
页: [1]
查看完整版本: 如何直接释放一个指针数组?