當前位置:首頁 » 編程語言 » c語言二維數組指針

c語言二維數組指針

發布時間: 2022-02-06 16:17:48

c語言怎麼用指針代替二維數組

1.設p是指向二維數組a[m][n]的指針變數,則有:

int* p=a[0];//此時P是指向一維數組的指針。P++後,p指向 a[0][1]。

2.如果定義int (*p1)[n];p1=a;p1++後,p1指向a[1][0];

則p+j將指向a[0]數組中的元素a[0][j]。

由於a[0]、a[1]┅a[M-1]等各個行數組依次連續存儲,則對於a數組中的任一元素a[i][j],指針的一般形式如下:

p+i*N+j,相應的如果用p1來表示,則為*(p1+i)+j。

元素a[i][j]相應的指針表示為:

*( p+i*N+j),相應的如果用p1來表示,則為*(*(p1+i)+j)。

同樣,a[i][j]也可使用指針下標法表示,如p[i*N+j]。

若有:

int *p=a[0];

則數組a的元素a[1][2]對應的指針為:p+1*4+2

元素a[1][2]也就可以表示為:*( p+1*4+2)

用下標表示法,a[1][2]表示為:p[1*4+2]

(1)c語言二維數組指針擴展閱讀:

指針與數組的關系:

1.指針數組:就是一個由指針組成的數組,那個數組的各個元素都是指針,指向某個內存地址。char *p[10]; //p是一個指針數組

2.數組指針:數組名本身就是一個指針,指向數組的首地址。注意這是一個常數。

example:

char (*p)[10]; //p是一個數組指針

3.函數指針:本身是一個指針,指向一個函數入口地址,通過該指針可調用其指向的函數,使用函數指針可實現回調函數。

網路-指針

㈡ c語言二維數組的指針

先用一個指針類型把這個返回值進行接受,然後再向你的那個二維數組賦值,記得要把那個指針free掉
char*
temp;
temp
=
returnPointer();
strcpy(a[i],
temp);
free(temp):

㈢ C語言如何定義指針指向字元型二維數組

使用指針變數訪問二維數組的任意一個元素的方法:

1.使用列指針:定義一個列指針p,讓它指向二維數組的第0個元素

int a[3][4];

int *p;

p=&a[0][0];

//因為a[0]是第0行的數組名,所以p=&a[0][0]相當於p=a[0],因為a[i][j]前面共有i*4+j個元素

該二維數組的任意i行j列元素可表示為*(p+i*4+j)。

2.使用行指針:定義一個行指針p,讓它指向二維數組的第0行

int a[3][4];

int (*p)[4];

p=a; //也可以為p=&a[0];

其中* ( *(p+i)+j)表示任意一個i行j列的元素。

(3)c語言二維數組指針擴展閱讀:

數組的使用規則:

1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。

3.如不給可初始化的數組賦初值,則全部元素均為0值。

4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。

網路-數組

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372