知识点:让编程学习者们又爱又恨的指针基础,为你详解(一)


 

1、指针的概念工具

要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号能够暂时理解为指针,就像酒店的门牌号同样。学习

1.一、变量和地址开发工具

先写一段简单的代码:3d

void main(){指针

int x = 10, int y = 20;对象

}blog

这段代码很是简单,就是两个变量的声明,分别赋值了 十、20。咱们把内存当作一个酒店,而每一个房间就是一块内存。那么“int x = 10;”和“int y = 20;”的实际含义以下:内存

去酒店订了两个房间,门牌号暂时用 px、py 表示开发

让 10 住进 px,让 20 住进 pyget

其中门牌号就是 px、py 就是变量的地址

x 和 y 在这里能够理解为具体的房间,房间 x 的门牌号(地址)是 px,房间 y 的门牌号(地址)是 py。而 10 和 20,经过 px、py 两个门牌,找到房间,住进 x、y。


 

1.二、指针变量和指针的类型

指针变量就是一个变量,它存储的内容是一个指针。若是用前面的例子,能够理解为指针变量就是一张房卡,房卡存储了房间号的信息。

在咱们定义一个变量的时候,要肯定它的类型。int x、char ch、float、、、在定义指针变量时也是同样的,必须肯定指针类型。int 变量的指针须要用 int 类型的指针存储,float 变量的指针须要用 float 类型的指针存储。就像你只能用酒店 A 的房卡存储酒店 A 中房间号的信息同样。


 

2、变量的指针与指针变量

变量的指针就是变量的存储地址,指针变量就是存储指针的变量。

小编推荐一个学C语言/C++的学习裙【七一二 二八四 七零五】,不管你是小白仍是进阶者,是想转行仍是想入行均可以来了解一块儿进步一块儿学习!裙内有开发工具,不少干货和技术资料分享!

2.一、指针变量的定义及使用

(1)指针变量的定义

指针变量的定义形式如:数据类型 *指针名;例如:


 

如上面的定义,指针变量名为 x、f、ch。并非*x、*f、*ch

(2)指针变量的使用

取地址运算符&:单目运算符&是用来取操做对象的地址。例:&i 为取变量 i 的地址。对于常量表达式、寄存器变量不能取地址(由于它们存储在存储器中,没有地址)。 指针运算符*(间接寻址符):与&为逆运算,做用是经过操做对象的地址,获取存储的内容。例:x = &i,x 为 i 的地址,*x 则为经过 i 的地址,获取 i 的内容。

代码示例:


 

(3)“&”和“*”的结合方向

“&”和“*”都是右结合的。假设有变量 x = 10,则*&x 的含义是,先获取变量 x 的地址,再获取地址中的内容。由于“&”和“*”互为逆运算,因此 x = *&x。

接下来作个小练习,输入 x、y 两个整数,而后将其中的值大的赋值给 x,小的赋值给 y。即:假设输入 x = 8,y = 9。就将 9 赋值给 x,8 赋值给 y。


 

 

2.二、指针变量的初始化

指针变量与其它变量同样,在定义时能够赋值,即初始化。也能够赋值“NULL”或“0”,若是赋值“0”,此时的“0”含义并非数字“0”,而是 NULL 的字符码值。

 
 

 
点击 快捷通道进入