background image

pNew3=new char[16];

    //在堆上分配内存,使用 malloc

pMalloc1 = (char *)malloc( 16 ); 

pMalloc2 = (char *)malloc( 16 ); 
pMalloc3 = (char *)malloc( 16 );  

printf("在堆上分配内存内存地址\n");

printf("pMalloc1=0x%08x\n",pMalloc1); 
printf("pMalloc2=0x%08x\n",pMalloc2); 

printf("pMalloc3=0x%08x\n\n",pMalloc3); 

    
    //释放 new 分配的内存空间
    delete [] pNew1;

delete [] pNew2;
delete [] pNew3;
pNew1=NULL;
pNew2=NULL;
pNew3=NULL;

    
    //释放 malloc 分配的内存空间

free(pMalloc1);

free(pMalloc2);
free(pMalloc3);

pMalloc1=NULL;
pMalloc2=NULL;

pMalloc3=NULL;

return 0;

}

本程序在 Windows XP 下,VC6 编译后的执行结果是: