学ios需要了解的C语言基础知识-6-维数组二维数组啥

来源:互联网 发布:淘宝宝贝销售规格 编辑:程序博客网 时间:2024/05/19 02:25
  数组:存储多个相同数据类型的集合(容器)
  定义数组格式: 数组类型 数组名称[元素个数]
  数组初始化
  1、先定义数组,再初始化
     1、使用常量作为元素个数
        int nums[5];
     2、使用变量作为元素个数
        int len = 5;
        int nums[len];
 
     注意点:
     1、只有定义没有初始的数组元素是垃圾值(不确定)
     2、没有初始化的数组不可以使用其中存放元素
     3、先定义数组再初始化的时候只能一个一个的初始方式
  2、定义数组的同时初始化
     1、指定元素个数,同时进行全部显式初始化
        int nums[5] = {1,2,3,4,5};
     2、不指定元素个数,全部初始化
        int nums[] = {1,2,3,4,5};
     3、指定元素个数,部分初始化
        int nums[5] = {1,2};
     4、指定元素个数,给指定下标初始化
        int nums[5] = {[4] = 1,[1] = 2};
     注意点:
     1、没有显式初始化的元素会自动被初始化为0
     2、变量作为元素个数不可以使用这种方式进行初始化
  3、数组的存储细节
     1、数组一块连续的存储区域
     2、低下标的元素在低字节地址上,高下标的元素在高字节地址上
     3、数组名就是数组的首地址,和下标为0的元素的地址相同
     注意点:
     1、数组下标越界(不要出现这种情况)
        1、约错对象
        2、程序崩溃
     2、什么样类型的数组里面只能存放什么类型的数据
  4、数组与函数
     1、基本数据类型作为函数参数传递是值传递
     2、数组作为函数参数传递是地址传递
     3、数组作为函数参数的时候,数组自动被转换为一个指针变量,那么会导致数组有些信息遗失,也就是说我们不可以通过函数形参来计算数组的长度
 








  知识点回顾
  1、数组:存放多个同种类型的数据的集合(容器)
  格式:数组类型 数组名称[元素个数]
  初始化:
  1、先定义再初始化
     1、使用常量作为元素个数
     2、使用变量作为元素个数
  2、定义的同时进行初始化
     1、没有显式初始的元素系统自动初始化为0
     2、使用变量作为元素个数的不可以使用这种方式进行初始化
 注意点:
     1、数组没有初始化里面是垃圾值(不确定的值),所有没有初始化的数组不可以使用它里面的数据
     2、数组越界
        1、约错对象
        2、程序崩溃
     3、什么样类型的数组里面只能存放什么样类型的数据
 数组与函数
    1、数组作为函数参数传递是地址传递
    2、数组作为函数参数的时候,被自动转换为了指针类型,造成信息遗失,在函数中不可以获得数组长度信息


 二维数组:数组元素是一维数组的数组
 格式:数组类型 数组名称[一维数组的个数][一维数组的元素个数]
 
 二维数组的遍历
    1、外层循环控制第一个下标
    2、内层循环控制第二个下标
0 0