C++学习 指针相关的知识总结

指针( 应对程序在存储数据中追踪三个基本属性的一种策略,指针是一个变量,存储的是值的地址,而不是值本身)

指针的声明:

函数指针:

作用:当一个函数将另一个函数的地址作为参数时,这个函数可以直接找到另一个函数,即它允许在不同的时间传递不同的函数的地址,意味着在不同的时间使用不同的函数。

注意事项:

1. 声明指向函数的指针时,必须指定指针指向的函数类型,意味着应指定函数的返回类型以及函数的特征标(参数列表)。通常,要声明指向特定类型的函数的指针,可以先编写这类函数的原型,用(*pf)替换函数名,这样pf就是函数指针。例如: double (*pf)(int)

2. 书写格式和优先级的影响。例如: *pf(int) 表示的是pf()是一个返回指针的函数;而(*pf)(int) 表示的是pf是一个指向函数的指针。

当pa是一个数组名时,要区分pa 和 &pa的区别:

        pa 表示的是数组第一个元素的地址,即&pa[0]。它是单个指针的地址,但&pa是整个数组的地址。从数字上来看,两者是一样的,但类型不同。一个区别是,pa+1为数组的下一个元素的地址,而&pa+1为数组pa后面一个nx4字节内存块的地址(假设地址为4字节,有n个元素)。另一个区别是,要得到第一个元素的值,只需要对pa解除一次引用,但需要对&pa解除两次引用,即:

*pa = =  ** &pa = = pa[0];

--持续更新中

你可能感兴趣的:(c++,学习,开发语言)