目录
指针的定义
int a = 10;
// 指针定义的语法;数据类型 *指针变量名;
int * p;
// 让指针记录变量a的地址
p = &a;
cout << "a的地址为: " << &a << endl;
cout << "指针p为: " << p << endl;
// 上面两行的结果相同
使用指针
// 可以通过解引用的方式来找到指针指向的内存。
// 指针前加 * 代表解引用,找到指针指向的内存中的数据
*p = 1000;
cout << "a = " << a << endl;
cout << "*p = " << *p << endl;
指针所占内存空间
在32位操作系统下,指针式占4个字节,不管是什么数据类型。
在64位操作系统下,指针式占8个字节,不管是什么数据类型。
空指针
// 指针变量指向内存中编号为0的空间
// 用途为初始化指针变量
// 注意:空指针指向的内存是不可以访问的
int * p = NULL;
// 访问空指针报错
// 内存编号为0~255为系统占用内存,不允许用户访问
野指针
// 指针变量指向非法的内存空间
// 指针变量p指向内存地址编号为0x1100的空间
int * p = (int *)0x1100;
// 访问野指针报错
cout << *p << endl;
system("pause");
const修饰指针
const修饰指针有三种情况:
1、const修饰指针
2、const修饰常量
3、const即修饰指针,也修饰常量