数组和指针

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 **

以上是关于数组和指针的主要内容,如果未能解决你的问题,请参考以下文章

指针和引用指针数组和数组指针

数组指针和指针数组

指针数组和数组指针

指针,数组指针,指针数组,函数指针解析

指针,数组指针,指针数组,函数指针解析

关于数组指针和指针数组