c語言二維陣列怎麼表示,C語言二維陣列定義是什麼,然後int a 1 2 是代表什麼意思?怎麼用這個二維陣列

2021-03-11 10:55:40 字數 6383 閱讀 7421

1樓:匿名使用者

int a[m][n];//就表示一個m行n列的整型二維陣列在c語言中陣列的下標是從0開始的所以,內陣列a的元素個數可以表示為:容a[0][0]-a[m-1][n-1]

例如:#include

int main()

return 0;}/*

執行結果:

1 23 4

4 51 2

3 44 5*/

2樓:匿名使用者

int a[3][2]定義的是陣列bai

裡每個元素du是整數。

初始化zhi賦值可以

int a[3][2]=}

也可以用循dao環的方式

for(int i=0;i<3;i++)

for(int j=0;j<2;j++)

a[i][j]=1;//這裡的1只是個例子,自己專要賦什麼就屬什麼。

a[3][2]指的是單個的元素。

3樓:趙宇翔

定義的時候int a[3][2]代表三行兩列的整型陣列

使用的時候是迴圈不到a[3][2]的,三行兩列的整型陣列最多可以訪問到a[2][1],因為陣列下標是從0開始的,切記不要越界哦~

4樓:顏秀英候綾

inta[3][2]定義的是陣列裡每個元素是整數。

初始化賦值可以

inta[3][2]=}

也可以用迴圈的方式

for(int

i=0;i<3;i++)

for(int

j=0;j<2;j++)

a[i][j]=1;//這裡版的1只是個例子,自權己要賦什麼就什麼。

a[3][2]指的是單個的元素。

c語言二維陣列定義是什麼,然後int a[1][2]是代表什麼意思?怎麼用這個二維陣列

5樓:匿名使用者

c語言二維陣列定義的一般形式是:型別說明符 陣列名[常量表示式1][常量表示式2]

int a[1][2]的意思是,定義了一個int型別的,陣列名為a的,具有1行2列的陣列

你可以把這個二維陣列想像成一個**,這個**有1行2列,每個格子中可以放入一個int型資料。

陣列使用就是用陣列下標來訪問陣列中的元素,比如a[0][1]=5,就是把第1行的第2個元素賦值為5。

c語言有關二維陣列變數初始化

6樓:aaa**王

例如對整型二維陣列a[3][2]賦值

方法一:

在定義的同時賦值

int a[3][2]=;//所有陣列元素均為0方法二:

int a[3][2]=;//常規的賦值方法方法三:

int a[3][2]=,,};//分行的賦值方法方法四:

int a[3][2]=,,};//部分賦值方法,第一行元素的值分別為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]);

7樓:函吉貫尋菡

二維陣列可以看成特殊的一維陣列,每個元素又由一個一維陣列組成。

例如:構建一個maxrownum*maxrownum的矩陣

long double **data1_bfe;

data1_bfe=(long double **)malloc(maxrownum*sizeof(long double *));

for(i=0;i動態分配maxrownum個long double的記憶體空間,跟long

double

a[5]相似,但前者是堆上分配的,後者是棧上分配的;

data1_bfe=(long double **)malloc(maxrownum*sizeof(long double *));

意思就是定義一個有maxrownum個long double型別的指標的動態陣列,然後在裡面存放指標,相當於容器,data1_bfe就會成為指標的指標。

注意事項:c語言在定義陣列和表示陣列元素時常常採用a[

][]的形式,使用方便,不易出錯。

8樓:year好好學習

方法一: 在定義的同時賦值 int a[3][2]=;//所有陣列元素均為0 方法二: int a[3][2]=;//常規的賦值方法 方法三:

int a[3][2]=,,};//分行的賦值方法

9樓:匿名使用者

int array[10][10]=;//這是全0

或者int array[3][3]=;

10樓:一米陽光鮑

int table=;

11樓:程式設計師的每一天

c語言陣列之二維陣列

12樓:

第一個初始化方法有錯

13樓:匿名使用者

若干變數按有序的形式組織起來,

以便於程式處理,這些資料元素的集合就是陣列,按照陣列

元素的型別不同,可分為:數值陣列、字元陣列、指標陣列

結構陣列等各種類別。

陣列說明的一般形式為:

型別說明符 陣列名[常量表示式],......;

其中型別說明符可以是任一種基本資料型別或構造資料型別

陣列名是定義的陣列識別符號。常量表示式表示資料元素的個

數,也就是陣列的長度。

對陣列型別的說明應注意:

1)陣列的型別實際上是陣列元素的取值型別。

2)陣列名的書寫應符合識別符號的書寫規範。

3)陣列名不能與其他變數名相同。

4)常量表示式表示陣列元素的個數,但是其下標從0開始計算

5)不能在方括號中用變數來表示元素的個數,但是可以用符號

常數或常量表示式。

6)允許在同一個型別說明中,說明多個陣列和多個變數。

陣列元素的表示方法

一般比較簡單就是陣列名[下標]來引用,先定義後用,如果

是小數的話,直接自動取整。

陣列賦值分為:初始化賦值和動態賦值

初始化賦值一般形式為:

static 型別說明符 陣列名[常量表示式]=;

static表示靜態儲存型別,c語言規定只有靜態儲存陣列和外部陣列

才可做初始化賦值。

c語言對陣列的初始化賦值還有幾個規定:

1)可以只給部分元素賦值。

2)只能給元素逐個賦值,不能給陣列整體賦值。

3)如不給可初始化的陣列賦初值,在在陣列說明中,可以不給出陣列

元素的個數。

下面看一下多維陣列

主要看一下二維陣列,其他的就可以用二維陣列類推得到

二維陣列的型別說明的一般形式是:

型別說明符 陣列名[常量表示式1][常量表示式2]...;

在c語言中二維陣列是按行排列的

二維陣列的表示方法:

陣列名[下標][下標]

二維陣列的初始化

二維陣列初始化也是在型別說明時給各下標變數賦以初值。 二維陣列可

按行分段賦值,也可按行連續賦值。

二維陣列的初始化還應該注意:

1)可以只對部分元素賦初值,未賦初值的元素自動取為0。

2)如對全部元素賦初值,則第一維的長度可以不給出。

字元陣列:

用來存放字元變數的陣列稱為字元陣列。

c語言允許用字串的方式對陣列作初始化賦值。例如:

static char c=; 可寫為:

static char c=; 或去掉{}寫為:

sratic char c="c program";

用字串方式賦值比用字元逐個賦值要多佔一個位元組, 用於存放字串結

束標誌'\0'。上面的陣列c在記憶體中的實際存放情況為: c program\0`\0'是

由c編譯系統自動加上的。由於採用了`\0'標誌,所以在用字串賦初值時一

般無須指定陣列的長度, 而由系統自行處理。在採用字串方式後,字元數

組的輸入輸出將變得簡單方便。 除了上述用字串賦初值的辦法外,還可用

printf函式和scanf函式一次性輸出輸入一個字元陣列中的字串, 而不必

使用迴圈語句逐個地輸入輸出每個字元。

void main()

printf("%s\n",c);

注意在本例的printf函式中,使用的格式字串為"%s", 表示輸出的是一

個字串。而在輸出表列中給出陣列名則可。 不能寫為: printf("%s",c);

void main()

char st[15];

本例中由於定義陣列長度為15, 因此輸入的字串長度必須小於15,

以留出一個位元組用於存放字串結束標誌`\0`。 應該說明的是,對一個字

符陣列,如果不作初始化賦值,則必須說明陣列長度。還應該特別注意的是,

當用scanf函式輸入字串時,字串中不能含有空格,否則將以空格作為串

的結束符。例如執行例4.8,當輸入的字串中含有空格時,運**況為:

input string:this is a book this 從輸出結果可以看出空格以後的字元

都未能輸出。 為了避免這種情況, 可多設幾個字元陣列分段存放含空格的

串。程式可改寫如下:

lesson

void main()

本程式分別設了四個陣列, 輸入的一行字元的空格分段分別裝入四個陣列。

然後分別輸出這四個陣列中的字串。在前面介紹過,scanf的各輸入項必須以

地址方式出現,如 &a,&b等。但在例4.8中卻是以陣列名方式出現的,這是為

什麼呢?這是由於在c語言中規定,陣列名就代表了該陣列的首地址。 整個

陣列是以首地址開頭的一塊連續的記憶體單元。如有字元陣列char c[10],在

記憶體可表示如圖4.2。設陣列c的首地址為2000,也就是說c[0]單元地址為2000。

則陣列名c就代表這個首地址。因此在c前面不能再加地址運算子&。如寫作

scanf("%s",&c);則是錯誤的。 在執行函式printf("%s",c) 時,按陣列名c

找到首地址,然後逐個輸出陣列中各個字元直到遇到字串終止標誌'\0'為止。

字串常用函式:

用於輸入輸出的字串函式在使用前應包含標頭檔案"stdio.h",使用其他字串

函式則應包含標頭檔案"string.h".下面介紹幾個常用的字串函式:

1)字串輸出函式 puts 格式:puts(字元陣列名) 功能:把字元陣列中的字元

串輸出到顯示器。

#include"stdio.h"

main()

2)字串輸入函式gets 格式:gets(字元陣列名) 功能:從標準輸入裝置上

輸入一個字串。

#include"stdio.h"

main()

tips:gets函式並不以空格作為字串輸入結束的標誌,而只是以回車作為輸入

結束,這是與scanf不同的部分

3)字串連線函式strcat 格式:strcat(字元陣列名1,字元陣列名2)

功能:把字元陣列2中的字串連線到字元陣列1中字串後面,並刪去字串

1後的串標誌"\0",本函式返回字元陣列1的首地址。

#include"string.h"

main()

4)字串拷貝函式strcpy 格式:strcpy(字元陣列名1,字元陣列名2)

功能:把字元陣列2中的字串拷貝到字元陣列1中,串結束標誌 "\0"也一同

拷貝,字元陣列2也可以是一個字元常量,就相當於把一個字串賦予一個字元陣列

#include"string.h"

main()

5)字串比較函式strcmp格式:strcmp(字元陣列1,字元陣列2) 功能:

按照ascii碼順序比較兩個陣列中的字串,並有函式返回值返回比較結果

#include"string.h"

main()

a[i]=n;

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

printf("%d",a[i]);

printf("\n");

}例二:

main()

printf("\narray a:\n");

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

printf("\narray b:\n");

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

printf("%5d",b[i]);

printf("\n");

}例三:

void main()

puts(cs[i]);

printf("\n");

另外,站長團上有產品**,便宜***

C語言二維陣列問題

一維陣列,a表示的就是首元素的地址,a就是首元素。再看二維陣列,二維陣列如a 2 2 兩行兩列。是a 0 0 a 0 1 a 1 0 a 1 1 它不是一維陣列,但可以用一維陣列表示。a i a i a i a i 0 這幾個值是相等的,但意義不同,a i表示第i行的首地址,指向行。a i a i ...

c語言中關於二維陣列指標

二維陣列其實在記憶體中等同於一維陣列,僅僅是在編譯階段就幫你轉換掉了。a 3 4 記憶體分配時等同於a 3 4 上面的 應該改寫成printf d p i 4 j p i j 這種寫法系統理解為先取 p i 取p i該位置的值,假設 i 2,那麼該值就是3,然後再去用3 j,假設j 1,那麼 p i...

c語言一維陣列和二維陣列怎麼去理解?詳細點啊

i是迴圈變數,和陣列a沒什麼關係。a i 是指a陣列中的下標為i的值的那個元素的值 c語言一維陣列轉二維陣列的方法是什麼?如下 void fun char a int i 0 int j 0 while a b i j a 0 c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以...