一维数组和二维数组的定义及用法

一维数组的定义
类型说明符  数组名 [常量表达式];
在此说明:常量表达式必须是常量和常量符号。常量表达式定义了数组的长度。在宏定义中#define定义一个符号常量,则这个符号常量可以用来声明数组的个数
#define n =9
.....
int arr[ n ];

一维数组的引用
数组必须先定义在使用,可以通过引用数组元素方式使用该数组中的元素,如arr[0]就是访问的数组的第一个元素。
一维数组初始化的方式有三种
1.完全初始化
    int a[5] = { 1, 2, 3, 4, 5 };
2.部分初始化,没有赋值的元素默认值为0
      int a[6] = { 1, 2, 3 };
因为这个数组有留个元素,前三个分别赋值为1,2,3,后边没赋值他们就为0。

3.不指定数组长度,系统会根据元素个数定义数组的长度。
     int a[] = { 1, 2, 3, 4, 5 };
注意事项:
1.数组名不能和其他变量名相同如下:
int a;
int a[];
2.[]里面一定为常量表达式,常量表达式可以是整型常量,整形符号常量和整形常量表达式

3.避免数组越界。数组元素个数不能超过给定的值。

4.给数组赋值只能逐个赋值,不能整体赋值。

二维数组的定义
类型说明符  数组名 [常量表达式1] [常量表达式2];
          int arr[n][m]; //定义了一个n行m列的数组
二维数组的引用
与一维数组引用的方式一样都是通过引用数组下标的方式引用的。如arr[0][0],arr[0][1]

二维数组初始化方法
1.安行连续赋值,即将所有的数据写在一个大括号内,按照元素排列顺序对元素赋值。
        int  a[2][2]= { 1, 2, 3, 4 };
2.给所有元素赋初值时,可以省略行标,但列标一定不能省略。
        int  a[][2]= { 1, 2, 3, 4 };
3.按行分段赋值,可以分行给数组元素赋值
       int a[][2] = { { 1, 2 }, { 3, 4 } };

4.也可以直接对元素赋值
       int a[2][2]
          a[0][0] = 1;
          a[0][1] = 2;


字符数组的定义
char   数组名 [常量表达式];
             char arr[5];

字符数组的引用
与其他数组引用方式相同,也是通过下标访问的。如arr[0]='a';\

字符数组的初始化:
1.逐个把字符赋给字符数组
char arr[5] = { 'a' , 'b' , 'c' , 'd' , 'e' };

2.如果在定义字符数组长度时进行初始化,可以省略数组长度
char   arr[] = { 'a' , 'b' , 'c' , 'd' , 'e' };

3.利用字符串给字符数组赋值。
char arr[] = { "hello" };
或者将{}去掉
char arr[5] = "hello" ;

注意字符数组的结束标志为 '\0'。
字符数组的输入输出方式
1."%c",实现的是单个字符的输入和输出
int main( void )
{
         char arr[] = { 'a' , 'b' , 'c' , 'd' , 'e' };
         int i = 0;
         int sz = sizeof (arr) / sizeof (arr[0]);
         for (i = 0; i < sz; i++)
        {
               printf( "%c " , arr[i]);
        }
        system( "pause" );
         return 0;
}
2."%s",实现的是字符串的输入和输出。

int main( void )
{
         char arr[] = "hello" ;
         int i = 0;
        printf( "%s " , arr);
        system( "pause" );
         return 0;
}








猜你喜欢

转载自blog.csdn.net/qq_40955824/article/details/80627047
今日推荐