亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

二維指針動態分配內存連續問題深入分析

2020-01-26 16:00:23
字體:
來源:轉載
供稿:網友
首先,小編先貼出測試代碼:
復制代碼 代碼如下:

#include <cstdlib>
#include <iostream>
using namespace std;
#define nWidth  3
#define nHeight 4
//內存是否連續分配問題
int main(int argc, char *argv[])
{
    int **p = NULL;
    p = (int**)malloc(nWidth*sizeof(int*));
    if(p == NULL)
    return -1;

 cout<<"內存的不連續分配:"<<endl;
    for(int j = 0; j< nWidth; j++)
    {
       p[j] = (int*)malloc(nHeight*sizeof(int));
       if(p[j] == NULL)
       return -1;
    }

    for(int i = 0; i < nWidth; i++)
  for(int j = 0; j < nHeight; j++)
  {
   printf("%p  ",&p[i][j]);
   if(j == nHeight-1)
    cout<<endl;
  }
    cout<<endl;

    for(int j = 0; j < nWidth; j++)
    {
       free(p[j]);
       p[j] = NULL;       
    }
    free(p);
    p = NULL;

   
 int **q = NULL;
    q = (int**)malloc(nWidth*sizeof(int*));
    if(q == NULL)
    return -1;

 cout<<"內存的連續分配:"<<endl;
    q[0] = (int*)malloc(nWidth*nHeight*sizeof(int));
    if(q[0] == NULL)
    {
        free(q);
        return -1;
    }
    for(int i = 1;i < nWidth; i++)
    q[i] = q[i-1] + nHeight;

    for(int i = 0; i < nWidth; i++)
  for(int j = 0; j < nHeight; j++)
  {
   printf("%p  ",&q[i][j]);
   if(j == nHeight-1)
    cout<<endl;
  }
    cout<<endl;

    free(q[0]);
    q[0] = NULL;
    free(q);
    q = NULL;

    system("PAUSE");
    return EXIT_SUCCESS;
}

運行截圖如下:



如圖所示,兩種分配內存的方法都能正確的分配內存,但是內存分配的空間確實不一樣的。
分析:
第一種分配方法:
首先,是對每一行分配,也就是 nWidth 中的每一個進行分配,所以,我們可以看到每一行的內存都是連續的,每一個都占據四個字節
但是,為nHeight分配內存的時候,是隨機的進行分配內存,所以內存的位置是不確定的,所以,出現了第一種情況

第二種分配方法:
首先,同樣是為 p 分配內存,現在 p 指向一個位置
但是,在第二句中,我們需要注意,是直接在 p[0] 出分配了所有需要的內存,所以,這個時候就全部分配完了,而且由于是一次性分配內存,故內存的地址肯定是連續的,運行結果也證明了這一點

釋放內存的兩種情況:
第一種情況由于是兩次不同的分配內存,所以,在釋放內存的時候,我們應選擇不同的區域進行釋放。
第二種情況,只是連續調用兩次 malloc  ,所以,只需要連續兩次調用 free 即可完成釋放。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
6080yy精品一区二区三区| 成人美女av在线直播| 亚洲第一福利网站| 91免费的视频在线播放| 亚洲风情亚aⅴ在线发布| 欧美性生交xxxxxdddd| www.国产精品一二区| 日韩精品在线电影| 亚洲片国产一区一级在线观看| 国产成人欧美在线观看| 在线观看日韩欧美| 国产精品久久久久久久7电影| 欧美日韩在线另类| 亚洲国产精品人久久电影| 久久免费成人精品视频| 中文字幕免费国产精品| 亚洲国产精品国自产拍av秋霞| 国产精品久久久久影院日本| 欧美另类高清videos| 欧美激情影音先锋| 亚洲国产精品久久久久久| 欧美特级www| 欧美成年人在线观看| 日韩美女视频免费在线观看| 亚洲片国产一区一级在线观看| 欧美大片在线看免费观看| 2019中文字幕在线免费观看| 日韩专区中文字幕| 国产精品成人av在线| 美女福利视频一区| 国产性猛交xxxx免费看久久| 午夜精品一区二区三区av| 国产精品成熟老女人| 97精品视频在线播放| 久久国产精品首页| 亚洲精品99999| 国产成+人+综合+亚洲欧洲| 国产国产精品人在线视| 亚洲国产精品久久久久秋霞不卡| 欧美亚洲国产成人精品| 日韩中文字幕在线视频| 韩国国内大量揄拍精品视频| 亚洲美女av黄| 国产精品久久久久9999| 国产精品国语对白| 久久久综合av| 日韩av在线影视| 久久精品中文字幕| 国产成人综合精品| 精品国产一区二区在线| 欧美激情极品视频| 国产精品激情av在线播放| 国产成人精彩在线视频九色| xxxxx91麻豆| 91影视免费在线观看| 亚洲第一区第二区| 午夜精品久久久久久久99热浪潮| 在线观看国产欧美| 丝袜美腿精品国产二区| 日韩av影片在线观看| 热99在线视频| 国产成+人+综合+亚洲欧洲| 成人两性免费视频| 性欧美xxxx交| 亚洲二区中文字幕| 亚洲国产精品电影在线观看| 国产激情久久久| 精品视频在线播放色网色视频| 中文字幕国产精品久久| 日韩经典中文字幕| 69久久夜色精品国产69| 成人免费xxxxx在线观看| 国产精品久久久久久亚洲影视| 成人久久精品视频| 91精品一区二区| 成人免费观看49www在线观看| 中文字幕免费精品一区高清| 成人国产精品久久久久久亚洲| 丝袜情趣国产精品| 亚洲国产高潮在线观看| 精品成人国产在线观看男人呻吟| www.久久撸.com| 成人有码在线视频| 亚洲国产精品电影| 久久精品国产91精品亚洲| 国产99久久久欧美黑人| 亚洲国产一区二区三区在线观看| 91青草视频久久| 茄子视频成人在线| 日韩av电影中文字幕| 国产精品美女免费看| 欧美日韩免费观看中文| 久久久久久久久国产精品| 91最新国产视频| 欧美中文字幕在线播放| 久久av红桃一区二区小说| 欧美电影在线播放| 国产一区二区美女视频| 高清欧美电影在线| 久久久精品一区二区| 久久久精品日本| 国产91久久婷婷一区二区| 日韩在线免费视频| 成人国产精品久久久| 中文字幕在线亚洲| 欧美日韩在线视频一区二区| 国产69久久精品成人看| 美女久久久久久久久久久| 浅井舞香一区二区| 国产成人97精品免费看片| 欧美麻豆久久久久久中文| 青青草一区二区| 国产精品久久久久久av福利软件| 自拍视频国产精品| 69视频在线免费观看| 欧美激情一二三| 国产做受高潮69| 国产精品va在线| 欧洲日韩成人av| 国产精品视频一区二区高潮| 亚洲欧美日韩一区在线| 97热精品视频官网| 日韩精品免费一线在线观看| 中文字幕av一区中文字幕天堂| 在线观看国产欧美| 日本免费久久高清视频| 欧美韩日一区二区| 亚洲国产小视频在线观看| www国产精品视频| 国产精品久久久久久久午夜| 亚洲网址你懂得| 日韩中文字幕精品| 神马久久桃色视频| 91豆花精品一区| 国产综合在线观看视频| 91av国产在线| 国产精品高潮呻吟视频| 成人日韩在线电影| 91在线观看免费高清| 亚洲人成自拍网站| 亚洲人成网站777色婷婷| 久久综合免费视频影院| 91日本在线视频| 亚洲精品在线视频| 日韩性生活视频| 欧美性xxxx极品高清hd直播| 亚洲综合中文字幕68页| 在线播放亚洲激情| 国产成人一区二区三区| 一区二区三区www| 欧美日韩中文字幕在线| 欧美影院在线播放| 国产精品久久久久7777婷婷| 亚洲黄页网在线观看| 亚洲成**性毛茸茸| 91亚洲午夜在线| 久久久久久久网站| 亚洲丁香久久久| 国产精品999| 午夜精品国产精品大乳美女| 亚洲九九九在线观看| 美日韩精品免费观看视频| 草民午夜欧美限制a级福利片| 色诱女教师一区二区三区|