前言
C++指针学习笔记
指针的作用
定义指针
- 定义对应变量的指针,指针的数据类型要与对应变量的数据类型相同
- 通过取址符号
&
得到对应变量的内存地址,将内存地址作为指针的值
- 指针可以像变量一样,先定义后赋值,或者定义时直接赋值
1 2 3 4 5 6
| 数据类型 变量名 = 值;
数据类型 * 指针名; 指针名 = &变量名;
数据类型 * 指针名 = &变量名;
|
使用指针
- 通过解引用的操作得到指针指向的数据
- 实际上作用和原数据的变量名相同
指针占用的内存空间
- 32位系统下占用4个字节
- 64位系统下占用8个字节
空指针
0~255的内存地址是被系统占用的,应用程序不可访问
野指针
const修饰的指针
常量指针
- 常量指针可以修改指针,但是不能修改指针指向的值,相当于指向了常量
1
| const 指针类型 * 指针名 = &变量名;
|
指针常量
- 指针常量不可以修改指针,但是可以修改指针指向的值,相当于自身是一个常量
1
| 指针类型 * const 指针名 = &变量名;
|
const同时修饰指针和常量
1
| const 指针类型 * const 指针名 = &变量名;
|
利用指针访问数组元素
1 2 3 4 5
| int arr[2] = {1, 2};
int *p = arr;
*p++;
|
利用指针传递函数的参数
1 2 3 4 5 6 7 8 9 10 11
| 返回值类型 函数名(数据类型 *形参名) { return 返回值; }
int main() { 数据类型 变量名 = 值; 函数名(&变量名); return 0; }
|
完成
参考文献
哔哩哔哩——黑马程序员