数组、指针和引用

数组、指针和引用

标签(空格分隔): visual c++


数组

定义

数组必须先定义,在使用


数据类型 数组名 [数组大小]


初始化

指定数组的大小和初始值

int nArray[4]={1,2,3,4}

也可以用一个数,给数组全部初始化

int nArray[4]  = {-1}//nArray=[-1,-1,-1,-1]

省略数组大小的说明,直接初始化数组

int nArray[]={1,2,3,4}

上面的数组大小没有指定,数组的长度由大括号里面的数值的个数决定。只有当数组立即初始化的时候才可以这样

说明数组大小,并且初始化前几个值

int nArray[4]={1,2}

要注意跟用一个数初始化的区别

指针

定义

指针是一种数据类型,具有指针类型的变量称为指针变量。


指针类型 * 指针名
给出几种常见的指针变量的声明

int * pn,*pi; //pn 和 pi是两个指向int型变量的指针
float *pl; //pl是指向float型变量的指针
char *pc;//pc是指向char型变量的指针
int *(pf)();//pf是一个指向函数的指针,该函数的返回值是int型数值
int * *pp;//pp 是一个指向指针的指针,即二维指针

初始化

利用取地址符号&取得一个变量的地址,然后用这个地址给指针变量初始化

int a = 10;
int b[5] = {1,2,3,4,5}
int *pa = &a;
int *pb = b[3];

指针的使用

指针存储的是一个内存的地址,直接对指针的运算,或改变其内存的地址。根据指针类型,变化会有区别。例如,int型的指针,加减的长度是4,char型的加减的长度是1.利用取值符号*获取指针指向的地址的存储的值。

int a[] ={10,20,30};
float b[] = {1.1,2.2,3.3};
char c[] = {'a','b','c'};
int *pa = a;
float *pb = b;
char *pc = c;
for(int i = 0;i<3;i++)
{
    cout<<"pa的存储的地址:"<<pa+i<<"\t,存储的数值是:"<<*pa+i<<endl;
    cout<<"pb的存储的地址:"<<pb+i<<"\t,存储的数值是:"<<*pb+i<<endl;
    cout<<"pc的存储的地址:"<<pb+i<<"\t,存储的数值是:"<<*pc+i<<endl;
    cout<<endl;
}

** 更正一下:可以看到,char型的指针,加减的差值也是4 **

引用

应用可以看做是变量的别名,对引用的操作会映射到变量本身。

引用的定义


数据类型 &引用名 变量名


引用要注意

  • 引用在定义时要初始化
  • 对引用的操作就是对呗引用变量的操作
  • 可以用一个引用给一个变量赋值,该变量的值是被引用的变量的值
posted @ 2019-08-28 15:40  超级学渣渣  阅读(523)  评论(0编辑  收藏  举报