指针的基本概念
指针的作用:可以通过指针间接访问内存
内存编号是从0开始记录的,一般用16进制数字表示
可以利用指针变量保存地址(指针记录地址编号)
指针变量的定义和使用
指针变量的定义语法:数据类型 *变量名
使用变量名来操纵这个量,为什么要有变量? 当我们创建变量的时候,都要去记录他的地址编号。当你要使用某个值的时候,或者是某个数据的时候,创建变量再来使用它。
换做指针(指针就是地址)的时候,如果我知道这个地址编号,我们也可以拿到这个数据,
那么怎么知道这个地址编号并且使用这个地址编号下存储的数据呢?
这个时候,我们再创建一个变量,这个变量里边就存储的另外一个变量的地址
这个变量我们就称为是一个指针的变量,可以通过一个指针来保存一个地址
#include <iostream>
using namespace std;
int main() {
//1 定义指针
int a = 10;
//指针定义的语法:数据类型 *指针变量
int* p;//习惯写指针的时候,使用p来定义,因为point(指针)
//让指针记录变量a的地址
p = &a;//&符号是取址的意思,&把a的地址取出来,让指针P来记录这个地址,&符号是取址符号
也可以直接写成这种: int a = 10; int* p = &a;
cout << "a的地址为:" << &a << endl;
cout << "a的地址为:" <<(int) &a << endl;//使用int强转为整形
cout << "指针p为:" << p << endl;
//2 使用指针
//指针前加*号代表解引用,找到指针指向的内存中的数据
*p = 1000;//*解引用,拿到这个地址下的数据,可以修改(*p=1000,也就是讲p地址下的数据改为了1000,原本a=10,现在经过修改变成了1000)和读取它
cout << "a= " << a << endl;
cout << "*p= " << *p << endl;
return 0;
}