数组和指针
Posted superxuezhazha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组和指针相关的知识,希望对你有一定的参考价值。
数组、指针和引用
标签(空格分隔): 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 **
以上是关于数组和指针的主要内容,如果未能解决你的问题,请参考以下文章