1.指针定义
指针表示内存地址,变量存放在内存中分配的一个空间,不同类型的变量所占空间不同,计算机中每个字节对应一个地址,变量的地址指它所占用的字节中第一个字节的地址。在变量前加取地址运算符&,就表示变量的地址。指针实际上是一个unsigned类型整数。
2.指针变量
指针变量存放的是指针(废话),或者说地址。指针变量定义时通过在数据类型后加“*”表示这是指针变量。
数据类型* 变量名;
定义时亦可以进行初始化,其方式是取变量地址,赋给对应类型的指针变量。
在指针变量前加“*”即可获得指针变量存放的地址所指的元素。
对指针变量来说,其存储的地址类型称为基类型,基类型必须和指针变量存储的地址类型相同。
3.数组指针
C语言中,数组名称也作为数组的首地址使用,即对int型数组a来说有 a == &a[0]。
指针变量可以进行加减法,并且是以数据类型为单位的。例如a+i是指数组的首地址偏移i个int型变量的位置,即 a+i == &a[i]。
而两个指针变量作减法,得到的是两个地址间以数据类型为单位的距离。
4.引用
众所周知,函数参数是局部变量,实参进行值传递,对其操作不会影响外部变量,为了修改传入参数,我们可以使用C++中的引用,引用不产生副本,而是给原变量起了别名,对引用变量的操作就是对原变量的操作。
使用引用只需在函数的参数类型后加&即可:
返回类型 函数名称(参数类型 &参数){
函数主体
}
另外,引用是产生变量的别名,常量不可使用引用。
本文详细探讨了C/C++中的指针概念,包括指针的定义、指针变量的创建与使用,以及如何操作数组指针。同时介绍了引用的特性,作为一种能够直接修改函数参数的方式,引用为C++提供了更灵活的编程手段。

被折叠的 条评论
为什么被折叠?



