| 1.定义一维、二维、三维数组 数组是一组数据类型相同的元素。数组元素按顺序储存在内存中,通过整数下表(或索引)可以访问各元素。数组首元素下标是0 声明一个简单一维数组形式如下: type name [size]; type:数组数据类型 name:数组名 size:数组元素个数 数组名是该数组首元素的地址 不能把整个数组作为参数传递给函数,但是可以传递数组的地址。 初始化数组:如int a[3] = {0,1,2};以逗号分隔的值列表(用花括号括起来)来初始化数组,在逗号和值之间可以使用空格 当初始化列表中的值少于数组元素个数时,编译器会把剩余的元素都初始化为0.如果不初始化数组,数组元素和未初始化的普通变量一样,其中储存的都是垃圾值,但是,如果部分初始化数组,剩余的元素就会被初始化为0;如果初始化列表的项数多余数组元素个数,编译器会认为其错误。可以省略方括号中的数字,让编译器自动匹配数组大小和初始化列表中的项数。 声明数组后,可以借助数组下标(或索引)给元素赋值 在使用数组时,要防止数组下标越界。 要创建只读数组,用const声明和初始化数组 const int a[3]={0,1,2}; 二维数组: 二维数组是数组的数组。例如: double sales[2][4] 初始化二维数组: int sales[2][4] = { {1,2,3,4}, {5,6,7,8} } 每个数值列表都用花括号括起来。第一个列表数据用于初始化数组第一行,第二个列表数据用于初始化数组第二行。如果第一个列表只有2个数,则只会初始化数组第一行前2个数,而最后两个元素将被默认初始化为0.如果某列表中的数值个数超出了数组每行的元素个数,则会出错,但这并不会影响其他行的初始化。 初始化也可以省略内部的花括号,只保留最外面的一对花括号。只要保证初始化的数值个数正确,初始化效果与上面相同。但如果初始化的数值不够,则按照先后顺序逐行初始化,直到用完所有的值。后面没有值初始化的元素被统一初始化为0. 三维数组: Int box [2][2][2]; 通常处理三维数组需要使用3重循环。 可以把三维数组数组理解为:box含有2个元素,这2个元素是含有2个元素的数组,里面每个元素又是含有2个元素的数组。 |
|
| 2.一维、二维、三维数组名作用 数组名是数组首元素的地址。
|
|
| ||
| 4.指针数组及初始化 type*p[n] 定义指针数组p,它由n个指向某种类型数据的指针元素组成 1其初始化可以直接用大括号列出,中间用逗号隔开。 |
|
| 5.指针(对应内存空间 指向内存空间) 指针是一种变量,表示计算机为内存单元分配的地址值,占据内存空间,创建指针时,计算机会在栈中分配一块内存。指针存放的是地址值,不存放所指向的数据变量。
|
|
| 6.一维、二维、三维指针作用
|
|