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

c語言定義二維數組

發布時間: 2022-01-09 05:06:44

c語言中二維數組的定義

c語言中,要定義一個三行四列的int二維數組,可以採用以下的語句:
int a[3][4];

⑵ 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語言中定義一個二維數組

簡單點說 就不給代碼了 累。。。
思路就是用for循環 兩層循環就ok了
for(int i=0;i<多少多少;i++)
{
for(int j=0;j<多少多少;j++)

輸入那個語句忘了。。。汗。。。

⑷ C語言中如何定義動態二維數組並輸出

intmain()

{

int**p;//定義二維指針。

intm,n;//行數和列數。

inti,j;

scanf("%d%d",&m,&n);//輸入行數和列數。

if(m<=0||n<=0)return-1;//行數或列數非法。

p=(int**)malloc(sizeof(int*)*m);//申請一組一維指針空間。

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

p[i]=(int*)malloc(sizeof(int)*n);//對於每個一維指針,申請一行數據的空間。

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

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

scanf("%d",&p[i][j]);//輸入第i行第j列的數據。其中&p[i][j]也可以寫作p[i]+j或者是*(p+i)+j.功能相同。

printf("輸入的數組為%d行%d列: ",m,n);

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

{

for(j=0;j<n;j++)//這個循環可以輸出一行元素。

printf("%d",p[i][j]);//輸出i行j列的元素。

printf(" ");//每行輸入結束加換行符。

}

//釋放內存

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

free(p[i]);

free(p);


return0;

}

(4)c語言定義二維數組擴展閱讀

c語言中通過函數傳遞二維數組

#include

void func(int n, int a[][size])

{

/* access array */

a[i][j];

}

void main()

{

int a[10][10];

func(10, a);

}

⑸ c語言二維數組定義

C語言中不可以,C++中可以通過new運算符動態開辟數組。

⑹ C語言二維數組定義是什麼,然後int a[1][2]是代表什麼意思怎麼用這個二維數組

C語言二維數組定義的一般形式是:類型說明符 數組名[常量表達式1][常量表達式2]
int a[1][2]的意思是,定義了一個int類型的,數組名為a的,具有1行2列的數組
你可以把這個二維數組想像成一個表格,這個表格有1行2列,每個格子中可以放入一個int型數據。
數組使用就是用數組下標來訪問數組中的元素,比如a[0][1]=5,就是把第1行的第2個元素賦值為5。

⑺ c語言問題(定義二維數組類)

樓主你好~
修改了一下代碼,請結合注釋來閱讀代碼:
#include<stdio.h>
int main(void)
{
int n,i,j,d;
d=0;
static int a[10][10];
printf("Input n:");
scanf("%d",&n);
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
{
if(i==0&&j==0)
a[i][j]=42; //這是星號*的ASCII碼,也放到數組了
else if(i==0||j==0)
a[i][j]=i+j;
else
a[i][j]=i*j;
}
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
{
if(i!=0&&j==i+1)//除了第一行,每行只輸出i+1個元素,形成下三角
{
printf("\n");
break;
}
if(i==0&&j==0) //第一個元素時,以字元型輸出星號
{
printf("%5c",a[i][j]);
}
else //其他時候照常輸出元素
{
printf("%5d",a[i][j]);
}
if(j==n) //第一行與最後一行滿元素後,換行。
printf("\n");
}
return 0;
}

PS:這里我還調整了一下每個數組元素輸出後的間隔,因為變成雙位數後,光一個空格是不夠的,會引起錯位,導致表格不好看。

希望樓主能看懂哈~~祝樓主學習進步~~望採納~謝謝~~

⑻ C語言 定義二維數組

二維數組定義的一般形式是:

類型說明符 數組名[常量表達式1][常量表達式2]

其中常量表達式1表示第一維下標的長度,常量表達式2 表示第二維下標的長度

inta[3][4];

⑼ 在C語言中,怎樣定義一個動態的二維數組

auto 數組類型 數組名[數組長度]
例如:auto int a[3]

還有呢,不加auto 默認就是動態的 如果你要加的話

⑽ C語言用malloc定義二維數組問題

p是一個指向指針的指針,在上例中,你用malloc函數開辟的一段內存賦給了p,簡單的理解,其實p就是一個數組(以下我稱為p數組),不過數組中存放的都是指針,即p是一個指針數組,數組中存放了5個指向int型的指針,你知道一個普通的數組可用它的數組名進行訪問例如:a[5]就可用*a訪問其第一個元素。
同理用*p就可訪問p數組的第一個元素,*p+1訪問第二個元素,以此類推,而*p中存放的又是一個指針,所以**p就可以指向一個整形數據

熱點內容
基本原理和從頭計演算法 發布:2024-05-20 04:50:32 瀏覽:28
配置情況指的是什麼 發布:2024-05-20 04:48:14 瀏覽:495
那個程序用來編譯源文件 發布:2024-05-20 04:46:45 瀏覽:549
小程序需要資料庫嗎 發布:2024-05-20 04:35:14 瀏覽:337
鏈接sqlserver 發布:2024-05-20 04:27:53 瀏覽:209
ftp文件伺服器擴容 發布:2024-05-20 04:22:21 瀏覽:646
linux心跳包 發布:2024-05-20 04:17:52 瀏覽:970
android打開資料庫文件 發布:2024-05-20 04:16:07 瀏覽:572
塑料解壓 發布:2024-05-20 03:50:09 瀏覽:76
python在伺服器端開發 發布:2024-05-20 03:31:17 瀏覽:66