⑴ c語言最多的能有幾維數組
c語言默認最多是二維數組;當然如果用指針自己分配內存的話可以自行進行計算,進行更多維的表示。
二維數組本質上是將數組作為數組元素的數組,稱為數組的數組。為了形象化理解二維數組,通常將二維數組寫成行和列的排列形式,通常被稱為m行n列。
1、m:二維數組中包含多少個一維數組,是第一維,表示第幾行;
2、n:一維數組中包含多少個元素,是第二維,表示第幾列。
3、格式:類型修飾符 數組名[行數][列數] = {值,值2,值3,…};行數可以省,列數不可以省。
(1)c語言二維數組最大規模擴展閱讀:
高維數組:
數組下標在兩個以上;三維數組:立體的層,行,列;
格式:類型修飾符 數組名[層數][行數][列數] = {值,值2,值3,…};
遍歷三維數組需要三層循環;高維數組訪問元素:數組名[下標][下標]…高維數組元素個數等於各個數的乘積;高維數組佔用內存等於元素個數乘以單個元素所佔空間。
⑵ c語言中,多維數組最多是多少維我們老師說最多六十維請問為什麼
c語言默認最多是二維數組;當然如果用指針自己分配內存的話可以自行進行計算,進行更多維的表示。二維數組本質上是將數組作為數組元素的數組,稱為數組的數組。為了形象化理解二維數組,通常將二維數組寫成行和列的排列形式,通常被稱為m行n列。
1、M:二維數組中包含多少個一維數組,二維數組是第一個維度,表示行;
2、N:一個一維數組中包含多少個元素,第二維,表示哪一列。
3、格式:類型修飾符數組名稱[行號][列號]={值,值2,值3…};您可以保存行數,但不能保存列數。
(2)c語言二維數組最大規模擴展閱讀:
高維數組:
有兩個或多個下標的數組;三維數組:實體的層、行和列;
格式:類型修改器數組名稱[層號][行號][列號]={值,值2,值3…};
遍歷3D數組需要三層循環;高維數組訪問元素:數組名稱[下標][下標]…高維數組中元素的個數等於這些數的乘積;高維數組的內存佔用等於元素數量乘以單個元素所佔用的空間。
⑶ C語言程序設計:求二維數組中最大元素值及其行列號
#include <stdio.h>
void main()
{
int i,j,row = 0 ,colum = 0,max;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max = a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{
max = a[i][j];
row = i;
colum = j;
}
printf("最大值=%d 行號= %d 列號= %d ",max,row,colum);
}
(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函數逐個對數組元素賦值。
網路-數組
⑷ C語言輸入一個二維數組,找出這個二維數組的最大值
輸入時順便判斷一下就可以了:
#include"stdio.h"
intmain(intargv,char*argc[]){
inta[4][4],t,i,j;
printf("任意16個整數: ");
for(j=0;j<4;j++)
for(i=0;i<4;i++){
scanf("%d",&a[i][j]);
if(i==0&&j==0)//增加以下4行
t=a[0][0];
elseif(t<a[i][j])
t=a[i][j];
}
printf("TheMAXis%d ",t);//加上這一行
return0;
}
運行樣例:
⑸ c語言二維數組允許定義的最大值
你定義多大就會申請多大的內存,所以這個錯誤主要看你的機器的內存大小以及編譯器允許的內存大小,一般機器char的最大范圍在10^7左右int在10^6左右,你是10^8級別太大了
如果用超級計算機就是非常大也沒有問題的。
二維數組沒有定義的最大值的限制,主要是內存限制
⑹ c語言 二維數組最大的數,哪錯了
應該是你的函數的定義出錯了,因為你要傳入的二維數組,而根據你的定義,你傳入的只是一維的,函數的定義和後面函數的實現都改了應該就行了
⑺ c語言二維數組最大值問題
for(j=0;j<4;j++)
{
max=a[0][0];
if(a[i][j]>max)
max=a[i][j];
}
max=a[0][0]得放到for循環的外面。
否則的話,你實際運行的效果就是,每次比對一個數,都重新把a[0][0]賦值給max,也就是說你這個程序其實是後面的每個數跟第一個比較,最後一個是1比3小,結果當然是3,如果輸入是3,5,2,4,輸出結果就是4。.再直接點,你這個循環前面的比較都無用,影響結果的只有最後一個數a[0][3]而已
⑻ c語言中一個整數(int)二維數組可以設置最多多少行跟多少列
理論上沒有限制,實際上,計算機有物理內存大小限制,整型數也有最大值的限制。
想開大的數組,可以用動態分配。
定態數組,作為全局量可以開得大。例如:
#include <stdio.h>
int a[1001][1001]; // 全局量
main(){
a[1000][1000]=1000;
printf("%d",a[1000][1000]);
return 0;
}
若放到 main(){} 里,就是局部量,就不能用這么多單元了。
⑼ 用c語言如何定義一個較大的二維數組,例如1000行1000列
void main()
{
int a[1001][1001];
}
這樣定義沒有問題
Array size too large (數組太大)
分析:定義的數組太大,超過了可用內存空間。
可能是你的可用內存空間太小