c語言數組最大長度
發布時間: 2024-11-30 07:16:51
Ⅰ 用c語言編寫一個程序,求n個數中的最大值和最小值,要求用函數完成。
思路:首先設置最大最小的值都是數組第一個數,然後遍歷數組,出現比當前最大值大的,修改最大值為這個數。出現比最小值小的,修改最小值為這個數。
代碼
#include<stdio.h>
//為了方便返回,使用結構體存儲最大值和最小值
typedefstruct{
intMax;
intMin;
}MaxMin;
//函數參數array:數組,length:數組長度。
//這里其實可以把最大值最小值作為指針傳進去的。
MaxMinGetMaxMin(int*array,intlength)
{
inti;
MaxMinmaxMin;
if(length<=0)
returnmaxMin;
//初始化最大值和最小值為數組第一個數
maxMin.Max=array[0];
maxMin.Min=array[0];
for(i=0;i<length;i++){
if(array[i]>=maxMin.Max)
maxMin.Max=array[i];//比當前最大值大,修改最大值
if(array[i]<=maxMin.Min)
maxMin.Min=array[i];//比當前最小值小,修改最小值
}
returnmaxMin;
}
//主函數測試
intmain(){
intlength;
inti;
int*array;
printf("inputlengthofarray:");
scanf("%d",&length);
array=(int*)malloc(sizeof(int)*length);
for(i=0;i<length;i++){
printf("inputdataofarray(index%d):",i+1);
scanf("%d",array+i);
}
MaxMinmaxMin=GetMaxMin(array,length);
printf("Max:%d,Min:%d",maxMin.Max,maxMin.Min);
return0;
}
3. 運行結果
Ⅱ c語言數組最大長度
理論上,c語言數組最大的大小沒有限制,因為它用的是 虛擬存儲。
對於寫程序而言,例如要寫下標,那麼受 unsigned int 最大值的限制,只能用到十六進制 0xffffffff, 十進制4G多一點。
具體程序能獲取多大,就很難說,有時編譯可以通過,運行時出錯。你也可以用 malloc 動態分配請求,看分配是否成功或失敗。
對一般程序而言,數組長度通常夠用了。
Ⅲ 數組定義的最大長度是多少c語言
沒有上限,和本機的系統(32bit,64bit)CPU以及內存有關系
而且,要使用malloc和sizeof來開放free領域
32bit CPU的時候、int = 4byte
256*256*256*16*4 = 1024M=1G(內存)
int *array ;
array = (int *)malloc( 256 * 256 * 256 * 16 * sizeof(int ));
熱點內容