我不太明白这两个的区别 
char buff[100] 这样写 和char * pbuff= new char [100]
这些的区别是谁什么,适用于什么情况,求教

解决方案 »

  1.   

    pbuff就是该数组的一个指针  其实他们都一样
      

  2.   

    前者的存储空间是在编译阶段就分配的,在其作用域范围内可以保存变量。
    后者可以在程序运行时动态分配内存,保存一些临时变量,在不需要使用的
    时候可以用delete[] pbuff释放内存。用后者的话,一定要记得用delete[] pbuff
    释放内存,不然将会引起内存泄露。
      

  3.   

    HeapAlloc和MALLOC? 还有这两个呢,放在标题上忘了,晕
      

  4.   

    HeapAlloc是从堆中分配空间
    MSLLOC是从栈里分配空间
      

  5.   

    carbon107(<软件开发思想.h>) :
      HeapAlloc是从堆中分配空间
      MALLOC是从栈里分配空间=======================================我第一次听到,malloc是从栈中分配空间的???
      

  6.   

    楼上说得对:
    HeapAlloc和malloc的区别在于他们属于不同的函数库。
    前者属于平台sdk,后者则是标准库。
    两个函数在分配空间时都是分配在堆中,实现结果也有细微差别。如malloc分配的实际空间可能比你指定的多些。具体细节课查阅msdn。
      

  7.   

    malloc(); 和 HeapAlloc(); 都是从堆中分配相应的内存
    不同的是一个是c run time的函数 一个是windows系统的函数
    这么说你应该可以想到 对于windows程序来说 使用HeapAlloc();会比malloc();效率稍稍高一些
    实际也是这样的 其实有许多crt的函数 ms在win中都提供了相似功能的系统函数