c語言字元二維數組
Ⅰ c語言如何定義指針指向字元型二維數組
在C語言中,可以通過如下方式來定義指向字元型二維數組的指針:
char c[4][5]; // 定義一個4行5列的字元型二維數組
char (*pc)[5]; // 定義一個含5個元素的數組指針
pc=c; // 將數組指針pc指向二維字元數組c
註:
char
(*pc)[5]
不能寫為 char
*pc[5]
char
(*pc)[5]
表示數組指針,數組中每個元素為char型;
char
*pc[5]
表示指針數組,數組中每個元素為char*,也即每個元素為指針。
Ⅱ 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列的元素。
(2)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函數逐個對數組元素賦值。
網路-數組
Ⅲ c語言裡面怎麼用指針表示二維字元數組
二維數組就是數組的數組,二維數組即數組的元素是一維數組的數組。那麼我們要用指針指向二維數組,就是要定義一個指向數組的指針了。例如:
charstr[3][10];//定義了一個char型的二維數組
char(*pstr)[10];//定義了一個指向char型的數組指針
pstr=str;//指針指向二維數組str
下面用pstr這個指針對二維數組進行賦值操作
inti;
for(i=0;i<3;i++)
scanf("%s",*(p+i));//*(p+i)等價於str[i]
Ⅳ C語言中二維字元數組應該怎樣賦值
二維數組賦值的一般形式是:dataType arrayName[length1][length2]。result二維字元數組可以這樣賦值,result[0][0]=seq1[0] ;result[1][0]=seq2[0]。
dataType arrayName[length1][length2],其中,dataType 為數據類型,arrayName 為數組名,length1 為第一維下標的長度,length2 為第二維下標的長度。
例如:int a[3][4],定義了一個3行4列的數組,共有3×4=12個元素,數組名為a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
在二維數組中,要定位一個元素,必須給出一維下標和二維下標,就像在一個平面中確定一個點,要知道x坐標和y坐標。例如,a[3][4] 表示a數組第3行第4列的元素。
(4)c語言字元二維數組擴展閱讀:
二維數組的地址計算
有二維數組A[m][n],設a[p][q]為A的第一個元素,即二維數組的行下標從p到m+p,列下標從q到n+q,按「行優先順序」存儲時則元素a[i][j]的地址計算為:
LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t
按「列優先順序」存儲時,地址計算為:
LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t
存放該數組至少需要的單元數為(m-p+1) * (n-q+1) * t 個位元組
Ⅳ c語言中,怎麼輸入多組字元串,放在二維數組里
1、字元輸出,當要向輸出設備(顯示屏、列印機等)輸出字元時,可以用 c 格式描述符控制。如下所示代碼即輸出字元ch (a) 。
Ⅵ c語言 二維數組
二維數組可以理解為「元素是數組的數組」,或者說「一維數組的一維數組」。比如
char a[2][3],可以看成是一個一維數組,這個一維數組有2個元素,這2個元素分別是a[0]和
a[1]。其中a[0]和a[1]實際上是兩個數組的首地址(即一維指針),而這兩個一維數組是字元數組,也就是說它們的元素是字元。a[0]和a[1]是這兩個字元數組的數組名,如果要引用其中的字元元素,要在後面用「[下標]」的形式,例如a[0][2]。
Ⅶ c語言中的二維數組
C 語言中的多維數組(multidimensional array)其實就是元素為數組的數組。n 維數組的元素是 n-1 維數組。例如,二維數組的每個元素都是一維數組,一維數組的元素當然就不是數組了。
多維數組聲明時,每個維度用一對方括弧來表示:char screen[10][40][80]; // 一個三維數組
數組 screen 包含 10 個元素,從 screen[0] 到 screen[9]。每個元素又是一個二維數組,它有 40 個元素,這 40 個元素均是一維數組,然後每個一維數組內都有 80 個字元。整體來說,screen 數組有 32000(10×40×80)個 char 類型元素。
想要獲取該三維數組 screen 內的某個 char 元素,必須指定 3 個索引值。例如,下面的語句把字元Z寫入該數組的最後一個元素位置:screen[9][39][79] = 'Z';
Ⅷ c語言二維數組
例如對整型二維數組a[3][2]賦值方法一:在定義的同時賦值 int a[3][2]={0};//所有數組元素均為0 方法二: int a[3][2]={1,2,3,4,5,6};//常規的賦值方法方法三: int a[3][2]={{1,2},{3,4},{5,6}};//分行的賦值方法方法四: int a[3][2]={{1,2},{0},{3}};//部分賦值方法,第一行元素的值分別為1,2,第二行元素值都是0,第三行第一個元素值為3,第二個元素值為0 方法五: int a[3][2];/先定義 for(i=0;i<=3;i++) //用雙重for循環賦值,i,j表示二維數組下標 for(j=0;j<=2;j++) scanf("%d",&a[i][j]); 希望對你有所幫助。
Ⅸ c語言 二維數組的字元類型
一維的我們用來表示一個單獨的字元串,如char ch1[10] = "Name";
二維的通常是表示多個字元串,即字元串數組如char ch2[2][10] = {"Name","Number"};
其中每個字元串的結尾都是\0(也就是0值) 換言之,第一個[]是幾,就可以裝幾個最大長度為第二個[]-1的字元串。
比如char a[2][3];定義這樣一個變數,就可以理解成定義一個字元串數組,其中有2個字元串,每個字元串的最大長度為3-1(因為\0要佔用一個)