数组与指针

一、数组

  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表示空指针;表示当前指针为无效指针