1. 程式人生 > >C語言--一堆陣列的定義和初始化

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;

          }