浅谈指针

来源:互联网 发布:c语言新建文件步骤 编辑:程序博客网 时间:2024/05/21 09:30

首先要知道的事

1.指针也是一种数据类型,指针变量用于存放内存单元的地址;

2.指针也是先声明后使用,声明指针的语法形式是:int *ptr;其中,*的含义表示这里声明的是一个指针类型的变量。数据类型可以是任意的。这里的例子是声明了一个指针类型的变量ptr,这个指针变量所指向的变量内容是int类型的数据。

3.为什么在声明指针变量时要指出他所指的对象是什么类型呢?首先,在我们声明了一个变量以后,意味着声明了变量需要的存储空间;另外,另一个重要的作用是限定了对变量可以进行的运算及其运算规则。

与地址相关的运算“*”和“&”

4.C++提供了两个与地址相关的运算符——“*”和“&”
“*”称为指针运算符,也称为解析(dereference),表示获取指针的变量的值,这是一个一元操作符。例如 *ptr表示指针ptr所指向的int型数据的值。“&”称为取地址运算符,也是一个一元操作符,用来得到一个队项的地址,例如:使用&i就可以得到变量i的存储单元的地址。
重点重点重点,重要的事说三遍
5.必须注意,“*”“&”出现在声明语句中和执行语句中的含义是不同的,他们作为一元运算符和作为二元运算符时含义也是不同的。
(1).一元运算符“*”出现在声明语句中在被声明的变量名之前,表示声明的是指针,如:*ptr;
(2).“*”出现在执行语句中或声明语句的初始化表达式中作为一元运算符时,表示访问指针对象的内容,如:cout<<*p;     //输出指针p所指向的内容
(3).“&”出现在变量声明语句中位于被声明的变量左边时,表示声明的是引用,如:int &rf;        //声明一个int类型的引用rf
(4).“&”在给变量赋初值时出现在等号右边或在执行语句中作为一元运算符出现时,表示取对象的地址,如:
int a,b;
int *pa,*pb=&b;
pa=&a;




原创粉丝点击