1、定义

      如: int a[5]

2、赋值

     如:a[i] = 123 。 

     注意:这里是给数组中的某一个元素赋值。

3、初始化

    int a[3] = {1,2,3};

      元素个数只能少,不能多。少了默认用0(int),或空字符(char)来填充。多了则会报错

4、4个重要公式

      &a[i] == a + i ;

      a[i] == *(a + i) ;

      a[i] = i[a];

      *(a + i ) = *(i + a) 

     注意:最后两个公式仅供娱乐。。。。。。

5、数组地址越界问题

      轻则破坏变量的值,重则导致程序崩溃。

      如图所示:

      

数组的基本用法(1)_数组


6、常用知识点:

    1)如a[i]。

       a :数组名、首地址

       i  :下标、偏移量

      a[i]  :数组中的每一个元素都是一个变量

      数组,是一个集合(这与java中所指的集合不是一个东西),可以用来管理一组数据

    2) *a += 100

      解释:给数组a的第一个元素的值加上100

    3) int a[5] = {1,2 ,3,4,6};

      解释:这时候的 5可以不写,但建议写上

     4)printf("%p",&a[i])。

     解释:这一句的意思是,打印数组a中第i+1个元素的地址

     5)数组可以初始化,但是不能整体赋值。

      如: a = 123(错,类型不兼容。左边是一个数组,右边是一个数)

                a = {1,2,3}(错,此时等号的右边不能出现大括号)

    6)在c中,字符数组还可以用来存储一个字符串。

       解释:字符串,以\0结束的一串字符。


二、例程分析

   1、

#include <stdio.h>

int main(){

   int a[5];
   int i;
   for(i = 0 ; i < 5 ;++i){
      printf("%d ",a[i]);
   }
   printf("\n");

   
int b[5]={123,321,738,850,395};
   for(i = 0 ; i < 5 ; ++i){
     printf("%d ",b[i]);
   }


   printf("\n");

   int c[5] ={520};
   for(i = 0 ; i <5 ; ++i){
     printf("%d ",c[i]);
   }

   printf("\n");

   char d[15]={'z','h','a','n','g','z','e','t','i','a','n'};
   for( i = 0 ; i < 15 ; ++i){
     printf(" %c",d[i]);
   }

   printf("\n");
   return 0;
}


2、以下演示不初始化,而是单独给每一个元素赋值

    

#include <stdio.h>

int main(){
    int b[5] ={2};
    int i;
    for(i = 0 ; i < 5 ; ++i){
       printf("%d ",b[i]);
    }

    b[2]=3,b[3]=4,b[4]=5,b[1]=6;

    for(i = 0 ; i < 5 ; ++i){
       printf("%d ",b[i]);
    }
    printf("\n");

}