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