指针系列
初识指针
前言
在工作和学习中,指针是c++语言中常用的知识点也是不容易理解的点,本篇文章记录指针的声明、定义以及用法,方便自己学习和回顾。
一、指针是什么?
指针是一个变量,其值为变量的地址,即内存位置的直接地址。和其他变量或常量一样,在使用指针存储其他变量地址之前,首先对其进行声明。指针变量声明的一般形式为:
type *var-name;
其中type 是指针的基类型,type必须是一个有效的 C++ 数据类型,var-name 是指针变量的名称。用星号 *来声明指针 ,其中星号是用来指定一个变量是指针。有效的指针声明如下所示:
int *A; /* 一个整型的指针 */
double *B; /* 一个 double 型的指针 */
float *C; /* 一个浮点型的指针 */
char *D; /* 一个字符型的指针 */
二、C++中如何使用指针
1.定义一个指针变量;
2.把变量地址赋值给指针;
3.访问指针变量中可用地址的值;
#include <iostream>
using namespace std;
int main ()
{
int var = 10; // 实际变量的声明
int *p; // 指针变量的声明
p = &var; // 在指针变量中存储 var 的地址
cout << "Value of var variable: ";
cout << var << endl;
// 输出在指针变量中存储的地址
cout << "Address stored in p variable: ";
cout << p << endl;
// 访问指针中地址的值
cout << "Value of *p variable: ";
cout << *p << endl;
return 0;
}
4.查看输出结果
Value of var variable: 10
Address stored in p variable: 012FFB9C
Value of *p variable: 10
个人总结
1.指针的本质是变量,可以是各种数据类型,定义一个指针 "*p",其中 "p" 需要赋于一个地址(可以用 & 符号获取其他变量的地址再赋值给 p),而 "*p" 是一个具体的值,即读取地址后获得的值;
2.& 符号的意思是取地址,也就是返回一个变量对象在内存中的地址。* 符号的意思是取得一个指针所指向的对象。 也就是如果一个指针保存着一个内存地址,那么它就返回在那个地址的对象。总结来说就是:&->取址。*->取值。