|
认识指针之前我们先来了解一下地址
一、地址
我们知道声明一个变量的语法结构
数据类型 变量名 = 数据
例:整型 整数变量 = 10
(整型)数据类型:表示储存的信息类型
(整数变量)变量名:表示储存的信息
那么变量所在的内存地址如何表示?
语法:&变量名 //其中&是地址运算符
例:&整数变量
注意1:&变量表示的是一个16进制的地址
注意2:地址只能赋值给指针变量
想要将地址作为数据储存到变量中,必须通过指针进行强制转换- 整型 整数变量
- 字符型 字符变量
- 调试输出("整数变量 变量的地址:", &整数变量)
- 调试输出("字符变量 变量的地址:", (空类型*)&字符变量)
复制代码 通过上面的实例,我们了解了什么是内存地址以及如何访问它。接下来让我们看看什么是指针
二、指针
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址
就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明
指针变量声明的一般形式为:类型 *变量名称
在这里,类型 是指针的基类型,它必须是一个有效的 炫语言 数据类型,变量名称 是指针变量的名称
用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针
所有指针的值的实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的十六进制数
不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同
使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值
这些是通过使用一元运算符 * 来返回位于操作数所指定地址的变量的值。下面看实例:- 整型 变量1 = 20 // 实际变量的声明
- 整型 *指针变量 = 空 // 指针变量的声明
- 指针变量 = &变量1 // 在指针变量中存储 变量1 的地址
- 调试输出("变量1变量的值", 变量1)
- 调试输出("指针变量中存储的地址",指针变量)
- 调试输出("访问指针中地址的值", *指针变量)
复制代码 注意1:
指针在使用之前一定要进行初始化,没有初始化的指针是非常危险的,
使用没有初始化的指针会破坏数据,导致程序崩溃
注意2:
指针变量和变量的数据类型必须一致,否则没法使用。
如果需要这样使用,则需要进行强制转换
|
|