指针总结

来源:互联网 发布:唐努乌梁海回归知乎 编辑:程序博客网 时间:2024/06/15 15:59
1  指针是C++从C中继承过的重要数据类型,它提供了一种较为直接的地址操作手段。正确的使用指针,可以方便,
灵活而有效的组织和表示复杂的数据结构。动态内存分配和管理也离不开指针。同时指针也是C++的主要难点
。为了理解指针,首先要理解关于内存地址的概念。
2  指针变量的声明
指针也是一种数据类型,具有指针类型的变量称为指针变量。指针变量是用于存放内存单元地址的。
通过变量名访问一个变量是直接的,而通过指针访问一个变量是间接的。
指针是先声明后使用的,声明指针的语法形式是;
数据类型 *标识符;
其中*表示这里声明的是一个指针类型的变量。数据类型可以是任意类型 指的是指针所指向的对象。
3  指针的赋值
定义指针之后必须先赋值,然后才可以引用。与其他类型的变量一样,对指针赋初值也有两有方法
(1)在定义指针的同时进行初始化赋值。语法形式为
储存类型  数据类型  * 指针名=初始地址;
(2)在定义之后,单独使用赋值语句。赋值语句的语法形式为
指针名=地址;
4  一个数组,可以用它的名称来直接表示他的起始地址 ,数组名称实际上就是一个不能被赋值的指针
即指针常量。
5  指向常量的指针不能通过指针来改变所指对象的值,但指针本身可以改变,可以指向另外的对象
语法形式为:const 类型说明符*指针变量名
6  指针类型的常量,指针本身本身的值不能被改变
语法为 类名说明符*const 指针变量名
7  指针运算
指针是一种数据类型。与其他数据类型一样,指针变量也可以参与部分运算 包括算术运算 关系运算 和赋值运算。
不同类型的指针之间或指针与非零整数之间的关系运算是毫无意义的 但指针变量可以和整数零进行比较 0专用于
表示空指针,也就是不指向任何有效地址的指针。
8  空指针还占可以用NULL来表示。
9  指针对象
和基本数据类型一样 每一个对象在初始化以后都会在内存中有一定的空间,因此即可以通过对象名 也可以通过
对象地址来访问一个对象。但对象所占据的内存空间只是用于存放数据成员的 函数成员不在每一个对象中存副本
。对象指针就是用于存放对象的地址变量  对象指针遵循一般变量指针的各种规则。声明如下(
类名*对象指针名;
10  就像通过对象名来访问对象的成员一样,使用对象指针一样可以方便的访问对象的成员  语法为
对象指针名-》成员名;
这种形式与(*对象指针名)·成员名 的访问形式一样。
原创粉丝点击