总结11(数组)

数组

        1.为什么需要数组

                为了解决大量同类型数据的存储和使用问题

                为了模拟现实世界

       2. 数组的分类

                一维数组

                        1).怎样定义一维数组

                                为n个变量连续分配存储空间。

                                所有的变量数据类型必须相同。

                                所有变量所占的字节大小必须相等。

                                        例子:

                                                int a[5];

                                         (一维数组名不代表数组中的所有元素,代表数组第一个元素的地址)

                        2).有关一维数组的操作

                                初始化:

                                        完全初始化(数组中,每个元素均被赋值了)

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

                                        不完全初始化(数组中,有元素未被赋值。未被初始化元素自动为0

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

                                        不初始化(数组中,所有元素未被赋值。所有元素是垃圾值

                                                int a[5];

                                        清零(数组中,每个值变为0)

                                                int a[5]={0};

                                        错误写法:

                                (1)

                                                int a[5];

                                                a[5]={1,2,3,4,5};//错误(错误原因:没有a[5]这个元素,而且将5个值赋给一个元素也不对。只有定义时a[5]中的5表示个数,定义完后再出现a[5]中的5表示下标只有在定义数组的同时才可以整体赋值其他情况下整体赋值都是错误的

                                (2)

                                                int a[5];

                                                a[5]=100;//错误(错误原因:没有a[5]这个元素,最大只有a[4])

                                (3)

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

                                                int b[5];

                                                如果要把a数组中的值全部赋值给b数组

                                                错误写法:

                                                b=a;//错误(错误原因:a代表a[0]的地址,b代表b[0]的地址)

                                                正确写法:

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

                                                        b[i]=a[i];

                                赋值

                                排序

                                求最大/最小值

                                倒置

                                查找

                                插入

                                删除

                二维数组

                        int a[3][4];

                                总共12个元素,可以当做三行四列看。

                                这12个元素的名字依次为:a[0][0]   a[0][1]   a[0][2]   a[0][3]

                                                                         a[1][0]   a[1][1]   a[1][2]   a[1][3]

                                                                          a[2][0]   a[2][1]   a[2][2]   a[2][3]

                                a[i][j]表示i+1行j+1列的元素

                                int a[m][n];该二维数组右下角位置的元素只能是a[m-1][n-1]

                        初始化:

                                int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

                        操作:

                                输出二维数组内容(使用两个for循环)

                                

                        对二维数组排序

                        求每一行的最大值

                        判断矩阵是否对称

                        矩阵的相乘

                多维数组

                        是否存在多维数组

                                不存在,因为内存是线性一维的,n维数组可以当做每个元素是n-1维数组的一维数组

(eg: (1). int a[3][4];该数组是含有3个元素的一维数组,只不过每个元素都可以再分成4个小元素

         (2).int a[3][4][5];该数组是含有三个小元素的一维数组,只不过每个元素都是4行5列的二维数组)

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值