+ -
当前位置:首页 → 问答吧 → 有关动态内存分配的问题…………

有关动态内存分配的问题…………

时间:2011-12-11

来源:互联网

在调用库函数qsort的时候,还可以用动态内存分配么??


求大神普及…………


  orz

作者: yangfeng0722   发布时间: 2011-12-11

木有看懂。。。

作者: Demon__Hunter   发布时间: 2011-12-11

就是调用库函数qsort的时候,
要用到数组名,数组下标,数据类型


而动态内存分配的时候,似乎没有数组名字啊
这样是不是就是说


用qsort函数的时候就不能用动态内存分配了

作者: yangfeng0722   发布时间: 2011-12-11

引用 2 楼 yangfeng0722 的回复:

就是调用库函数qsort的时候,
要用到数组名,数组下标,数据类型


而动态内存分配的时候,似乎没有数组名字啊
这样是不是就是说


用qsort函数的时候就不能用动态内存分配了


举个例子你看看就明白了

C/C++ code


#include <iostream>
#include <cstdlib>

using namespace std;

int compare (const void * a, const void * b)
{
  return ( *(int*)b - *(int*)a );
}

int main()
{
    //动态分配内存空间
    int* datas = new int[10];
    
    //赋值为 1-10
    for(int i=0;i<10;++i)
        datas[i] = i+1;
    
    for(int j = 0;j<10;++j)
        cout<<datas[j]<<" ";
    cout<<endl;
    //进行排序
    qsort(datas,10,sizeof(int),compare);
    cout<<"由大到小输出为:"<<endl;
    for(int k = 0;k<10;++k)
        cout<<datas[k]<<" ";
    cout<<endl;
    return 0;
}




作者: elegant87   发布时间: 2011-12-11