C++学习笔记 指针篇
发布时间
阅读量:
阅读量
1 指针
指针的定义:数据类型 * 指针变量名
指针作用:间接访址 ;
内存编号是由0开始记录,一般为十六进制
使用指针:解引用的方式来找到指针指向的内存
指针前加一个*代表解引用;
使用指针可以间接访问这个内存 可以进行读和写的操作;
2 指针所占的内存空间
32位操作系统下占4个字节、64位操作系统下占8个字节; (不论什么指针类型)
3 空指针和野指针
(NULL)空指针:指针变量指向内存空间中编号为0的空间; 用途:初始化指针;
注意:空指针指向的内存是不可以访问的;(0~255号内存编号是系统占用不可访问)
VS:报错提示:
引发了异常: 写入访问权限冲突。
p 是 nullptr。
4 野指针
野指针:指针变量指向非法的内存空间;即指向的不是合法的,我申请的的内存空间;
总结: 空指针和野指针都不是我们申请的空间,因此不要访问;
5 const修饰指针 : const修饰谁,谁不能改变;
const修饰指针三种情况:
1、const修饰指针-------常量指针;

const int*** p** =&a
特点:指针的指向可以修改,但不可以修改指针指向的 地址的值
2、const修饰常量------指针常量;

int const *p=&a;
int * const p=&a;
特点:指针的指向不可以修改,指针指向的值可以修改;
地址不可改但可以修改地址内的值;
3、const即修饰指针又修饰常量;

特点:指针指向的地址和地址内的值都不允许修改;
const int const *p=&a;
6 指针和数组
作用:利用指针访问数组元素;

7 指针和函数
值传递与地址传递;
值传递 实参不受形参影响;
地址传递可以修改实参;

全部评论 (0)
还没有任何评论哟~

