c++ 动态数组,指针与动态内存分配

教学内容:  
   内存的使用
   动态内存分配malloc函数
   分配内存时使用sizeof运算符
   用指针访问内存
   以数组的形式访问内存


一、内存的使用
    堆(heap) 
       在程序执行期间分配内存时,内存区域中的这个空间称为堆(heap)。,malloc,calloc
    栈(stack)
       一般是函数分配给本地的参数和本地变量(局部变量)。

二、动态内存分配malloc函数
    在C语言中最简单的内存分配函数是malloc函数,原型如下:  
    void *malloc( size_t size ); 
    // 字节(BYTE) char 成功将返回分配内存空间的地址值,失败将返回NULL也就是0;
       例:
    int *pNum=(int*) malloc(100); //分配100字节,也就是25个int类型的空间
  
三、分配内存时使用sizeof运算符
 例:
 int *pNum=(int*) malloc(25*sizeof(int)); //分配字节,也就是个int类型的空间  
 double *pfNum=(double *) malloc(25*sizeof(double ));


四、用指针访问内存
 int *pNum=(int*) malloc(25*sizeof(int)); 
     int i,*p;
     p=pNum;
     for (i=0;i<25;i++)
     {
       *pNum++=i;
     }
     pNum=p;
      for (i=0;i<25;i++)
     {
      printf("%d,", *pNum++); //pNum=pNum+25;
     }
    
    getchar();
五、以数组的形式访问内存
 int *pNum=(int*) malloc(24*sizeof(int)); //3*8,4*6,6*4,2,12
     int i;
     
     for (i=0;i<25;i++)
     {
        pNum[i]=i;
     }
     
      for (i=0;i<25;i++)
     {
      printf("%d,", pNum[i]); //pNum=pNum+25;
     }