您的位置:首页 > 其它

C11数组

2015-07-07 23:25 330 查看
数组

   为什么需要数组

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

         为了模拟现实世界

   数组的分类

          一维数组

             怎样定义一维数组

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

                  所有变量数据内型必须相同

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

               

              例子

                   int a[5];

        一维数组名不代表数组中所有的元素

        一维数组名代表数组第一个元素的地址

        有关一维数组的操作

           初始化

              完全初始化

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

              不完全初始化,未被初始化的元素自动为零

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

               不初始化,所有元素是垃圾值,对某个元素赋值其他还是垃圾值

                  int a[5];

                清零       我的问题是不是可以清1  试数后可以

                   int a[5] = {0};

                错误的写法:

                   int a[5];---

                   a[5] = {1, 2, 3, 4, 5}; ---   //错误 a[5]表示的是下标

                  只有在定义数组的同时才可以整体赋值

                  其他情况下整体赋值都是错误的

                  在定义的时候5(如 int a[5])才表示是个数,在其他地方表示的是下标(元

素的位置)(如 a[5])

                  

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

                  a[5] = 100;  //error  因为没有a[5]这个元素,最打只有a[4] 

        

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

                   int b[5];

                   如果要把a数组的值全部复制到b数组

                         错误的写法;

                             b = a; //error相等与把a[0]的地址赋值b[0]的地址会报错

  因为数组的5个元素不是用a代表的是用a[0]..a[4]代表的,a代表a数组第一个元素a[0]的地址

                                                      b代表b数组第一个元素b[0]的地址   

 

                   通过试数 printf("%d\n", &a[0]);// 显示地址为1244980
                       printf("%d\n", a);    // 显示地址为1244980

1244980

                          正确的写法

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

                                 b[i] = a[i];    

                   赋值

                        int a[5];

           

                        scanf("%d", &a[0]);

                        scanf("%d", &a[3]);

               要自己写代码实现或用工具   

                   排序

                   求最大/最小

                   倒置

                   查找

                   插入

                   删除

元素一定是连续分配存储空间的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: