数组与指针
一、数组
1.所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
2.符号表达为:数据类型+数组名[常量表达式]
3.数组名的含义
(1)在以下情况表示整个数组
*在定义数组的同一个函数,求sizeof(arr)
*在定义数组的同一个函数,&arr+1;
(2)其他情况下,数组名表示数组首元素的地址
注:聚合类型:数组,结构体
聚合类型如果只初始化一部分,则剩余部分为0
初始化:在定义的同时赋值。
数组的几种表达方式:
*1 int arr[]={数组};
*2 int brr[长度]={数组}
注意:*3 int arr[10];//定义10个长度的int数组
arr[3] = 20;//使用时,3表示下标,这个除下标为3的数为20,其他数均为随机值;
二、指针
1.概念:一个变量的地址称为该变量的指针。指针=地址
2.指针的定义:数据类型 +* 指针变量名
3.指针的表示
① int *p=&a;
② int *p; ① 等价于②
p=&a;
*p//间接访问符(解引用),指针变量只是比普通变量多一个解引用
解引用:返回指针所指向的变量的值
NULL表示空指针;表示当前指针为无效指针