本文从初学者的角度,深入浅出地详解什么是指针、如何使用指针、如何定义指针、如何定义数组指针和函数指针,并给出对应的实例演示;接着,区别了数组指针与指针数组、函数指针与指针函数;最后,对最常混淆的引用传递、值传递和指针传递做了区处。
C++中一个重要的特性就是指针,指针不仅具有获得地址的能力,还具有操作地址的能力。指针可以用于数组、或作为函数的参数,用来访问内存和对内存的操作,指针的使用使得C++很高效,但是指针也非常危险,使用不当会带来比较严重的问题。
1、指针
程序中所有的变量和常量都存在一个内存地址中,当然,函数也有对应的内存地址,内存地址的不同会导致程序执行时有所不同。
指针就是用来控制和存储内存地址的变量,它指向单个对象的地址,除了void之外,指针的数据类型与所指向地址的变量数据类型保持一致。
2、如何定义指针、数组指针、函数指针
常见的指针定义有3种:变量指针、数组指针和函数指针的定义。
(1)、变量指针的定义
int* p=0; //定义指针p,并初始化指针为0,即指向的地址为0000 0000 或 int a=0; //定义初始化常量a int* p; //定义指针p p=&a; //指针p指向a的地址,即指针获取地址
(2)、数组指针的定义
int a[]={0,1,2,3,4,5,6,7,8,9};