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;
     }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM