[C++]指针学习总结

C++指针详解

今晚重新看了一下C++的指针,总结如下:

有关数据类型的定义:
int i;//int类型变量
int *p;//指向int类型的指针变量
int a[n];//int型数组
int *p[n];//指针数组
int (*p)[n];//指向int型数组的指针
int func();//返回值类型为int的函数
int* func();//返回值为 指向int类型的指针变量 的函数
int (*p)();//指向返回值类型为int的函数
int **p;//指向指针的指针

对于指针类型p,p表示它所指向数据的地址,*p表示它所指向数据的值,&*p等价于p
对于普通类型i,i表示它的值,&i表示它在内存中的地址,*&i等价于i

指针的运算:
1.指针变量可以加/减一个整数
  p+i 表示 p+i*d (d表示p所指向的变量单元所占字节数)
2.指针变量赋值
  p=&a;//普通类型
  p=array;//数组类型
  p=&array[&];//数组的值
  p=max;//函数名
  p1=p2;//指针
3.指针可以有空值,表示指针不指向任何变量
  p=NULL 等价与 p=0 (因为系统已经定义#define NULL 0)
  注意p=0与p未赋值是不同的,未赋值表示p指向一个未知的单元
4.指针可以相减(如数组计算下标差),但不能相加(相加无意义)
5.指针可以比较,指向前面的元素的指针小于指向后面的元素的指针
6.不同类型的指针赋值需要强制转换类型
  p1=(int *)p2;
  p1=(char *)p2;
  p1=(double *)p2;

 

附件:

CppPointerExample.7z

下载地址:

http://pan.baidu.com/share/link?shareid=135850&uk=3238766853

转载于:https://www.cnblogs.com/cateats2016/archive/2013/01/02/2842455.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值