数组
  uaa50elB8Qct 2023年12月06日 20 0

1.数组的概念

   数组是一组相同类型元素的集合:

    (1)数组中存放的是一个或者多个数据,但是数组的元素个数不能为0。

    (2)数组中存放的多组数据类型相同。

2.一维数组的创建和初始化

2.1数组创建

     一维数组创建的基本语法如下:

type arr_name[常量值];

   存放在数组的值被称为数组的元素,数组在创建时可指定数组的大小和元素类型。

2.2数组的初始化

   数组在创建时,有时需给定初始值,称为初始化。数组的初始化一般类型如下:

完全初始化:int arr[5] = { 1,2,3,4,5 };

不完全初始化:int arr[5] = { 1 };   //第一个元素为1,剩余元素默认为0。

2.3数组的类型

  去掉数组名留下的就是素组类型如下:

int arr[10];

int arr[5];

char ch[5];

3.一维素组的使用

  一维数组可以存放数据,目的是对数据进行使用。

3.1数组下标

  数组有下标,下标从0开始如:

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

元素:1

2

3

4

5

6

下标:0

1

2

3

4

5

数据的访问提供一种操作符:下标引用操作符。符号:[]。用它就能对数据进行使用。

如想用元素3。就用arr[2]来表示。

3.2数组元素打印

产生所有元素下标,是用for循环产生0~5的下标:

 int main()

{

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

   for(int i = 0; i<=6;i++)

    {

      printf("%d ", arr[i]);    

    }

  return 0;

}

 3.3数组的输入

如:  

#include <stdio.h>

  int main()

{

       int arr[6] = { 0 };

       for(int i = 0; i<=6;i++)

         {

           scanf("%d", &arr[i]);

         }

       for(i = 0; i<=6;i++)

            {

           printf("%d ", arr[i]);

            }

          return 0;

}

4.一维数组在内存中的存储

元素:1

2

3

4

5

6

下标:0

1

2

3

4

5

    数组在内存中是连续存放的。

5.sizeof计算元素组的个数

  sizeof是关键字,计算类型或变量大小,可来计算数组大小。

 int main()

{

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

   

      printf("%d ", sizeof(arr));    

    

  return 0;

}

   结果是24单位是字节

  所有元素类型相同选择一个元素就可计算了个数了:

 int main()

{

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

   int sz = sizeof(arr)/sizeof(arr[0]);

      printf("%d ", sz);       

  return 0;

}

  结果为6表明有6个元素。

6.二维素组的创建

定义:

type arr_name[常量值1][常量值2]

int arr1[5][4];

double data[2][8];

上述中5代表5行4代表4列,int和double代表数组类型,arr是数组名可自己定义。

7.二维数组的初始化

7.1不完全初始化

int arr1[3][5] = { 1,2 };

int arr2[3][5] = { 0 };

2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

7.2完全初始化

int arr1[3][5] = {1,2,3,4,5, 6,7,8,9,1, 2,3,4,5,6}


下标:

0

1

2

3

4

0


1

2

3

4

5

1

6

7

8

9

1

2

2

3

4

5

6

7.3按照行初始化

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

1

2

0

0

0

3

4

0

0

0

5

6

0

0

0

7.4初始化省略行不能省略列

int arr1[][5] = { 1,2,3 };

1

2

3

0

0

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

1

2

0

0

0

3

4

0

0

0

5

6

0

0

0

int arr3[][5] ={ 1,2,3,4,5,6,7 };

1

2

3

4

5

6

7

0

0

0

 8.二维数组的使用

8.1二维数组的下标

  二维数组的行是从0开始,列也是从0开始。锁定行和列就锁定了数组中的唯一的元素,如: 

printf("%d", arr[2][4]);

1

2

3

4

5

2

3

4

5

6

3

4

5

6

7

打印结果为7。

8.2二维数组的输入和输出

  访问整个二维数组,如:

#include <stdio>

int main() 

{

       int arr[3][5] = {1,2,,3,4,5, 2,3,4,5,6, 3,4,5,6,7  };

       for(int i = 0; i<3;i++)      //产生行

      {

             for(int j = 0; j<5;j++)    //产生列

            {

                  scanf("%d", &arr[i][j]);   //输入数据

            {

      }

       for(int i = 0; i<3;i++)

      {

             for(int j = 0; j<5;j++)

            {

                  printf("%d", arr[i][j]);   //输出数据

            {              

                  printf("\n");

      }

               return 0;

}



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月06日 0

暂无评论

推荐阅读
  ZklfkKGn8hpZ   2023年11月02日   43   0   0 数组赋值编译器
  uaa50elB8Qct   2023年12月06日   21   0   0 数组初始化二维数组
uaa50elB8Qct
作者其他文章 更多