日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二维动态数组定义及二维静态数组与**P的区别

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二维动态数组定义及二维静态数组与**P的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

矩力集成2008年校園招聘筆試題:動態申請一個二維數組存儲圖像陣列

傳統的解決方案是分配一個指針數組, 然后把每個指針初始化為動態分配的 ``列"。 以下為一個二維的例子:

//typedef int (*arraypoiter)[ncolumns];

int **dynamic_alloc_arrays(unsigned int nrows,unsigned int ncolumns)

{

unsigned int i;

int **array = (int **)malloc(nrows * sizeof(int *));

for(i = 0; i < nrows; i++)

array[i] = (int *)malloc(ncolumns * sizeof(int));

printf("array=0x%x/n",(int)array);

for(i=0;i<nrows;i++)

{

printf("array[%d]=0x%x/n",i,(int)array[i]);

}

printf("/n");

return array;

}

void main(void)

{

int **test_allocate;

unsigned int nrows=3;

unsigned int ncolumns=4;

test_allocate = dynamic_alloc_arrays(nrows,ncolumns);

printf("test_allocate=%x/n",test_allocate);

}

/*

array=911c70

array[0]=911c30

array[1]=911bf0

array[2]=911bb0

test_allocate=911c70

*/

當然, 在真實代碼中, 所有的 malloc 返回值都必須檢查。你也可以使用 sizeof(*array) 和sizeof(**array) 代替 sizeof(int *) 和 sizeof(int)(因為*array的類型為int *,**array的類型為int)。

你可以讓數組的內存連續, 但在后來重新分配列的時候會比較困難, 得使用一點指針算術:

int **dynamic_alloc_arrays(unsigned int nrows,unsigned int ncolumns)

{

unsigned int i;

int **array = (int **)malloc(nrows * sizeof(int *));

array[0] = (int *)malloc(nrows * ncolumns * sizeof(int));

for(i = 1; i < nrows; i++)

array[i] = array[0] + i * ncolumns;

printf("array=0x%x/n",(int)array);

for(i=0;i<nrows;i++)

{

printf("array[%d]=0x%x/n",i,(int)array[i]);

}

printf("/n");

return array;

}

void main(void)

{

int **test_allocate;

unsigned int nrows=3;

unsigned int ncolumns=4;

test_allocate = dynamic_alloc_arrays(nrows,ncolumns);

printf("test_allocate=%x/n",test_allocate);

}

/*

array=911c70

array[0]=911c10

array[1]=911c20

array[2]=911c30

test_allocate=911c70

*/

在兩種情況下, 動態數組的成員都可以用正常的數組下標 arrayx[i][j] 來訪問 (for 0 <= i <nrows 和 0 <= j <ncolumns)。

另一種選擇是使用數組指針:

int (*array4)[NCOLUMNS] = malloc(nrows * sizeof(*array4));

但是這個語法變得可怕而且運行時最多只能確定一維。因為NCOLUMNS必須為定值

××××××××××××××××××××××××××××××××××××××

C語言里,數組名是被看作指針來使用的,一維數組是指針,二維數組是指向指針的指針,三維是......... 真的是這樣的嗎??看下面的例子:

void show (int * * info, int x, int y) //打印一個x*y的數組的內容

{

int i, j;

for (i=0;i<x;i++)

{

for (j=0;j<y;j++)

{

printf ("%d ",info[i][j]);

}

printf ("/n");

}

}

void Function (void)

{

int as[10][10];

show (as,10,10);

// error C2664: 'show' : cannot convert parameter 1 from 'int [10][10]' to 'int ** ' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

}

在C中沒有安全類型檢查,上述程序只是warning,但是程序運行會崩潰

在C++中,根本就無法編譯通過,即as[10][10]和int * *根本不是一個類型

為什么?在c中,二維數組雖然是定義為指向指針的指針,但是實際上被指向的指針是不存在的,即沒有一個內存來存儲這個指針,只是在執行as [n]時返回一個指針罷了,as所指的不過是存放數組內容的地址!!

實際上從上面**P和動態二維數組的使用即可看出來,**P和靜態二維數組的本質區別!

總結

以上是生活随笔為你收集整理的二维动态数组定义及二维静态数组与**P的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久精品欧美 | 国产精品腿扒开做爽爽爽挤奶网站 | 黄av在线| 久久久久久久亚洲av无码 | 欧美性在线观看 | 伊人性视频 | 国产12页| 欧美视频在线观看一区二区三区 | 多男调教一女折磨高潮高h 国内毛片毛片毛片毛片毛片 | 91插插插插插插插 | 人妻熟女一区 | 欧美成年人 | 两女双腿交缠激烈磨豆腐 | 黄视频网站在线观看 | 毛片1000部免费看 | 国产视频在线一区二区 | 男人插女人的网站 | 亚洲欧美日韩动漫 | 色牛影院 | 日本天堂免费a | 国精产品一区一区三区免费视频 | 国产精品毛片一区二区在线看舒淇 | 国产福利视频网站 | 搞黄视频在线观看 | 99这里都是精品 | 男男在线观看 | 日韩一区二区三区电影 | 快色网站 | 日韩高清影视在线观看 | 国产素人在线观看 | 91嫩草在线| 亚洲av无码成人精品国产 | 伊人干综合 | 中文字幕免费在线观看 | 日本a级大片 | 色偷偷视频 | 精品美女久久久 | 亚洲电影影音先锋 | 黄色不卡视频 | 毛茸茸日本熟妇高潮 | 国产亚洲无码精品 | 人妻熟女aⅴ一区二区三区汇编 | 欧美aa视频 | 亚洲性事 | 2019天天操 | 国产精品成人在线观看 | 亚洲美女爱爱 | 国产又黄又粗又爽 | 欧美一区二区三区在线 | 一本久久a精品一合区久久久 | 91精品在线视频观看 | jizz在线播放 | 国产中文一区 | 97精品人妻一区二区三区蜜桃 | 激情都市一区二区 | 小早川怜子久久精品中文字幕 | 色图一区 | 9999热视频 | 亚洲深夜福利视频 | 精品国产精品国产偷麻豆 | 欧美在线精品一区二区三区 | 青娱乐最新官网 | 久久依人网 | 日韩精品视频一区二区 | 麻豆视频在线观看免费网站黄 | 朋友的姐姐2在线观看 | 奇米在线观看 | 欧美大片免费高清观看 | 开心黄色网| 欧美一级一区二区三区 | 秋霞影院av | 动漫精品一区二区三区 | 国产wwwwwww | 国产精品丝袜黑色高跟鞋的设计特点 | 亚洲色成人一区二区三区小说 | 欧美黄色短片 | 丝袜老师办公室里做好紧好爽 | 日本成人社区 | 一区二区三区中文字幕 | 国语对白av | 久久怡红院 | 午夜视频在线瓜伦 | 99综合网 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 色女孩综合网 | 91国内揄拍国内精品对白 | 国产精品人人妻人人爽人人牛 | 一级黄色录象 | 欲求不满在线小早川怜子 | 免费中文字幕日韩欧美 | 91av短视频 | 先锋影音av资源在线观看 | 亚洲精品永久免费 | 黄色理论片 | 日本一级黄色录像 | 泰国午夜理伦三级 | 国产传媒中文字幕 | 91日批 | 亚洲日日干 |