Advertisement

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)

还没有任何评论哟~