声明:
本笔记参考黑马程序员的C++课程:
详细笔记请看我的Notion
https://www.notion.so/7-a1859b1825894bfbba2a304be551e991
考题:
- 指针的作用是什么?
- 结合图来理解内存空间以及指针变量
- 内存空间
- 指针变量
- 解引用的操作?
- 如何打印变量a的地址
- 如何答应变量a的内存空间中的数据?
- 指针所占内存空间大小?
- 什么是空指针以及野指针?
- 空指针的作用?
- const修饰指针的三种情况?
- 指针与数组:
- 数组名的作用?
- 值传递和地址传递的区别?
7 指针
7.1 指针的基本概念
指针的作用: 可以通过指针间接访问内存
- 内存编号是从0开始记录的,一般用十六进制数字表示
- 可以利用指针变量保存地址
7.2 指针变量的定义和使用
-
个人总结:
指针的作用:可以通过指针间接访问内存
关键: 理解指针如何指向变量地址和内存空间
结合以下
写法:
//基础知识: int a = 10; int * p; //定义指针 p = &a; //指针指向变量a的地址 //可以直接缩写成: int *p = &a; cout << p << endl; cout << &a << endl; //以上是打印数据a的地址 //使用指针 //指针前加*代表 解引用 ,找到指针指向内存空间中的值 cout << *p << endl;
指针变量定义语法: 数据类型 * 变量名;
示例:
int main() {
//1、指针的定义
int a = 10; //定义整型变量a
//指针定义语法: 数据类型 * 变量名 ;
int * p;
//指针变量赋值
p = &a; //指针指向变量a的地址
cout << &a << endl; //打印数据a的地址
cout << p << endl; //打印指针变量p
//0073F8BC
//0073F8BC
//2、指针的使用
//通过*操作指针变量指向的内存
cout << "*p = " << *p << endl;
// *p = 10
system("pause");
return 0;
}
指针变量和普通变量的区别:
- 普通变量存放的是数据,指针变量存放的是地址
- 指针变量可以通过" * "操作符,操作指针变量指向的内存空间,这个过程称为 解引用
总结1: 我们可以通过 & 符号 获取变量的地址(&称为取址符)
总结2:利用指针可以记录地址
总结3:对指针变量解引用,可以操作指针指向的内存
以上为我的Notion部分笔记
具体请看我的Notion,谢谢。