数组与指针
一、数组的基本概念,定义及使用方法
具有相同数据类型的若干变量的有序集合,是一种复合类型。
- 对于同一数组,其所有元素的数据类型都是相同的。
- 数组名的书写规则应符合标识符的书写规定。
- 数组名不能与其他变量名相同。
- 方括号中常量表达式表示数组元素的个数,其下标从0开始计算。
- 允许在同一类型说明中,说明多个数组和多个变量
1、数组分为:
一维数组。语法:类型说明符 数组名[常量表达式]={值、值、值......值};
int 表示类型说明符 number数组名[5]数组长度,{}里面表示值;列出1-10的奇数如图1-1
1-1
二维数组。语法:数据类型 数组名[数组长度][数组长度];
1-2
1-3
1-4
1-5
2、字符数组。用来存放字符量的数组称为字符数组。
1-6
二、指针的概念、定义及使用方法
- 一个指针就是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针。为了避免混淆,我们约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。定义指针的目的是为了通过指针去访问内存单元。
- 对指针变量的定义包括三个内容:
- 指针类型说明,即定义变量为一个指针变量;
- 指针变量名;
- 变量值(指针)所指向的变量的数据类型。
类型说明符 *指针名=&变量名;
例:int *p=0;
其中类型说明符表示本指针变量所指向的变量的数据类型,*表示这是一个指针变量,&表示取变量名对应的内存地址。
三、指针类型的参数和返回值
函数的参数不仅可以是整型,实型,字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
四、指针与数组的关系
- 一个变量有一个地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,他们都有相应的地址。所谓数组的指针是指针组的起始地址,数组元素的指针是数组元素的地址。
- 一个数组是由连续的以块内存单元组成的。数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量)组成的。每个数组元素按其类型不同占有几个连续的内存单元。一个数组元素的首地址也是指他所占有的内存单元的首地址。
- 指针变量可以实现本身的值的改变。如P++是合法的,代表下一个数组元素的地址;而a++是错误的。因为a是数组名,它是数组的首地址,是常量。