关于函数指针数组和函数指针数组的指针的一些理解
2018-03-05 13:24
507 查看
首先我们一听函数指针数组是不是有点绕,其实不要想多了,就简单的来考虑,函数指针数组。首先它就是一个数组,然后是一个指针,一个函数指针指向了这个数组。下面我们来举一个简单的例子char* (*p[3])(char* p)这是一个数组,它的数组名是p,数组里面存了三个指向数组的指针,这些指针的类型是指向字符的指针、参数是一个指向字符的指针的函数。最关键的是要认清楚他是一个数组,一个指针数组。
下面我们来看一下函数指针数组的指针,第一感觉是不是很难懂,函数指针数组都没搞懂,还弄什么函数指针数组的指针。其实这个也是很简单的,首先我们明白它是一个指针,指向哪里呢?它指向的是一个数组,这个数组里面存的是指向函数的指针,清楚明了。
让我们来看一个简单的例子:char* (*(*p)[3])(char*r)看这种比较难看明白的一大串是有方法的:首先我们就要从中间慢慢的剥开,第一,P它是一个实实在在的指针,它指向了三个元素的数组,这个数组里面存的是三个指向函数的指针,这些函数的返回值类型是指向字符型的指针,参数是指向字符的指针。这样一层一层的剥开是不是问题就迎刃而解了。
下面我们来看一下函数指针数组的指针,第一感觉是不是很难懂,函数指针数组都没搞懂,还弄什么函数指针数组的指针。其实这个也是很简单的,首先我们明白它是一个指针,指向哪里呢?它指向的是一个数组,这个数组里面存的是指向函数的指针,清楚明了。
让我们来看一个简单的例子:char* (*(*p)[3])(char*r)看这种比较难看明白的一大串是有方法的:首先我们就要从中间慢慢的剥开,第一,P它是一个实实在在的指针,它指向了三个元素的数组,这个数组里面存的是三个指向函数的指针,这些函数的返回值类型是指向字符型的指针,参数是指向字符的指针。这样一层一层的剥开是不是问题就迎刃而解了。
相关文章推荐
- 对指针数组,数组指针,函数指针数组,函数数组指针的一些简单理解
- 关于递归调用,函数指针,数组,字符串的一些理解
- 关于指针数组、数组指针、及函数指针和指向函数指针数组的指针的一点理解
- 关于数组和指针的一些理解
- 个人理解:关于指针数组、数组指针、函数指针、函数指针数组、函数指针数组指针
- 什么是指针?关于指针的数组,数组指针,函数指针,函数指针数组,指向函数指针数组的指针的理解
- 【C】理解指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- 关于指针和数组的一些思考
- 透过一些实例理解数组和指针的一些细节
- 关于数组和指针的一些基本问题
- 关于函数指针数组与返回数组指针的函数
- 关于指针和数组对申请内存malloc和作为参数传递的一些问题
- 关于指针、数组的一些整理
- 理解数组指针、指针数组、函数指针、函数指针数组
- 关于 函数指针 的一些理解
- 关于字符指针和字符数组的一些错误
- 关于数组指针,字符串指针的一些小细节
- 关于函数指针的理解(指向的函数返回值又是另外一个函数指针)
- 函数指针与函数指针数组的简单理解以及vector
- 关于c/c++struct,指针,数组,内存地址的点滴理解