数组
数组本身是一种构造数据类型,主要将相同类型的变量集合起来,用一个名称来代表。
数组也是一种自定义类型,使用之前要先定义,以便编译程序能分配内存空间供程序使用。
一维数组的定义
一维数组的定义形式:
数据类型 数组名[整形常量表达式];
(1)数据类型:规定数组的数据类型。
(2)数组名:表示数组的名称,命名规则和变量名相同,为任一合法的标识符,不要与其他变量名或关键字重名。
(3)整形常量表达式:必须用方括号括起来,规定了数组中包含元素的个数,其中包括常数和符号常量,不能包含变量。
说明:数组名后面的方括号内容不能为空,必须为整形常量表达式。(程序在编译时 要以此为数组分配存储空间的大小)
一位数组的初始化
一维数组的初始化形式:
数据类型 数组名[整型常量表达式]={ 常量表达式,常量表达式.......}
初始化的方式:
(1)在定义时对全部数组元素赋初值。
e.g int x[5]={1,2,3,4,5}
(2)在定义时只给部分元素赋初值。
e.g int x[5]={1,2} 后面三个元素自动默认为0
(3)只能给元素逐个赋值,不能给数组整体赋值。
e.g “int x[5]={1,1,1,1,1};” 而不能写成 “int x[5]={1};”
一维数组的引用
一维数组的引用方式:
数组名[下标表达式]
在这里下表表达式可以是任何非负表达式,包括整型变量,整型常量,含有运算符的整型表达式,以及返回值为整数的函数调用。
引用数组元素时应注意以下几点:
(1)由于数组元素与同一类型的简单变量具有相同的地位和作用,因此对变量的任何操作都适用于数组元素。
(2)在引用数组元素时下表可以是整型常数或表达式,表达式内允许变量存在。
(3)引用数组元素时下表最大值不能越界。
(4)C语言中一般与逐个地使用下表变量来引用数组元素。
(5)
(6)数组是用下标访问的,数组的起始位置为0。
(7)数组的长度可以计算。
e.g int arr[10];
int sz =sizeof(arr)/sizeof(arr[0]) ;
指针与数组
指针运算
指针只能用地址表达式表示,不能像普通整数那样指针进行任意运算。
指针的算术运算:
(1)指针与整数的加减运算:指针加减一个整数n,这种运算用于将指针当前所指向的位置向前或向后移动n个数据的位置。
(2)两个指针相减运算:这种运算只能在同一指针类型中进行,主要用于对数组的操作,结果是整数而不是指针。
(3)++ --运算:指针变量自增自减运算也是指针运算。指针加1