C語言--一堆陣列的定義和初始化
陣列:
1.定義陣列:
#include <stdio.h>
int main()
{
//這個只表示有十個元素,並不代表有array[10],因為它的下標是從0開始的
int array[10];//定義了一個一維陣列,名字叫array,一共有10個元素,每個元素都是int型別
//array[10]這樣寫語法不會出錯,因為C語言不會幫你判斷這個下標是否是合法的,但你寫上去就會報相應的錯誤
}
2.陣列在記憶體的儲存方式
陣列在記憶體中就是一段連續的空間,而且每個元素的型別都是一樣的
3.陣列的初始化:
int array[10] = {0,1,2,3,4,5,6,7,8,9};//定義陣列的同時為陣列的成員初始化值
e.g.
#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
//int array[10] = {0,1,2,3,4,5,6,7,8,9};//定義陣列的同時為陣列的成員初始化值
//int array[10] = {3,7,9};//將陣列的前三個數賦值,其餘元素置為零
//int array[10] = {0};//將所有的數都賦值為0;
int array[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&array[i]);
}
for(i=0;i<10;i++)
{
printf("array[%d]=%d\n",i,array[i
]);
}
return 0;
}
求陣列的最大值:
#include <stdio.h>
#pragma warning(disable:4996)
int main()//求陣列中最大的值
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int max =0;
int i;
for(i=0;i<=9;i++)//想要找最大的值,一定要把陣列先遍歷一遍
{
if(max<array[i])
{
max = array[i];
}
}
printf("MAX=%d\n",max);
return 0;
}
逆置陣列
1.從頭往中間換
#include <stdio.h>
int main()
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int i;
int m;
for(i=0;i<=4;i++)
{
m = array[i];
array[i]=array[9-i];
array[9-i]=m;
}
for(i=0;i<=9;i++)
{
printf("array[%d]=%d\n",i,array[i]);
}
return 0;
}
2.從兩頭向中間讀
#include <stdio.h>
int main()//逆置陣列:頭兩頭向中間讀
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int min=0;
int max=9;
int mmm;
int i;
while(min<max)
{
mmm=array[min];
array[min]=array[max];
array[max]=mmm;
min++;
max--;
}
for(i=0;i<=9;i++)
{
printf("array[%d]=%d\n",i,array[i]);
}
return 0;
}