指针
来源:互联网 发布:2016软件工资待遇 编辑:程序博客网 时间:2024/05/17 03:26
1word=2bytes 1bytes=8bits(即1字=2字节 1字节=8位)
1.
声明: 数据类型* 标识符;//例: int* ptr;//定义了一个指针变量ptr
指针也是一种数据类型,指针变量是用来存放内存单元地址的。
地址编码的基本单位是字节,每个字节有8个二进制位组成。即每个字节是一个基本内存单位,有一个地址。
2."*"和"&"
"*":指针运算符
例:
int* p;//声明一个int型的指针变量cout<<*p<<endl;//取出指针p所指向的内容
"&":取地址运算符
例:
int &p;//声明一个int型的引用rfint a,b;int* pa,* pb=&b;//定义两个指针变量pa,pb.并取b的地址赋予pbpa=&a;//取a的地址赋予pa
(1)可以声明指向常量的指针,此时不能通过指针来改变所指对象的值,但指针本身可以改变,可以指向另外的对象
int a;const int* p1=&a;//p1是指向常量的指针int b;p1=&b;//正确,p1本身的值可以改变*p1=1;//编译时出错,不能通过p1改变来所指的对象(2)可以声明指针类型的常量,这时指针本身的值不能改变
int* const p2=&a;p2=&b;//错误,p2是指针常量,值不能改变
不同类型的指针之间或指针与非0整数之间的关系运算是毫无意义的。但是指针变量可以和整数0进行比较,0专门用来表示空指针,也就是一个不指向任何有效地址的指针。
小习惯:如果不便于用一个有效地址给一个指针变量赋初值,那么应当用0作为它的初值,从而避免指向不确定地址的指针出现。
例:
int *p;p=0;或int *p=NULL;
5.
数组名就是数组的首地址,也就是第一个元素的地址。
例:
int array[5];int* pri=array;//等价于 int* pri=&array[0];
取数组下标为i的元素: *(数组名+i);
0 0
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 我的.cshrc
- 宽带连接错误711:无法加载远程访问服务连接管理器
- 学习Android系统(kitkat)进程Zygote启动过程
- 世界有没有可能比我们想像得更好?
- 判断三角形性质
- 指针
- Java自学一
- java字符串length和length()
- C# Lazy<T>(转)
- struts2的性能优化
- mt7621
- Java静态链表的实现
- poj 2418 Hardwood Species--tire
- Troubleshooting 11.2 Clusterware Node Evictions (Reboots) (Doc ID 1050693.1)