码迷,mamicode.com
首页 > 编程语言 > 详细

数组和指针

时间:2019-08-28 15:48:56      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:for   长度   返回值   cout   数值   strong   数组   har   类型   

数组、指针和引用

标签(空格分隔): 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 **

数组和指针

标签:for   长度   返回值   cout   数值   strong   数组   har   类型   

原文地址:https://www.cnblogs.com/superxuezhazha/p/11424445.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!