个人笔记-当做复习
数组指针:
int a[10];
int(*p)[8] = &a;
p是一个长度为10,成员类型是int的数组指针
用typedef简化数组指针定义:
typedef int arrTen[10];arrTen* p;//p是长度为10,成员类型是int的数组指针
一个返回数组指针的函数:
arrTen* func();
还有一种比较复杂的写法:
int (*func())[10];效果相同:
可以这么理解上面这句话:
函数func的返回值解引用后是一个数组名
用c++11的尾置返回类型可以很好地解决:
auto func() -> int(*)[10]{}函数指针数组:
int foo(){}int main(){typedef int(*func)();func pfunc = foo;return 0;}还有一种比较绕的方法:
int foo(){}int main(){typedef int(*func)();func pfunc = foo;int(*arrayFunc[10])();arrayFunc[0] = foo;return 0;}int(*arrayFunc[10])();这句话可以这么理解:
我有一个数组,,对其中的成员解引用后是一个函数名!
版权声明:本文为博主原创文章,未经博主允许不得转载。
有勇气并不表示恐惧不存在,而是敢面对恐惧克服恐惧