C++中,能否定义一个指针 指向一个 数组指针?如何操作? C++如何在A类中定义一个指针指向B类的一个成员函数?

作者&投稿:斐何 (若有异议请与网页底部的电邮联系)
这就是指针数组的概念:
int **p=new int*[5]//定义一个指针p,该指针(二级指针)指向一个包含五个指针元素的数组。
接下来在使用的时候,你需要对数组中的每个指针元素继续分配空间。用完之后先释放数组元素中指针的内存空间,然后再释放p所指向的内存空间,可以确保内存无泄漏!忘理解。

char buffer[1024] = {0};
char * p = buffer;

int (*p)[10]; p即为指向数组的指针
具体的你可以参考百度百科,那里讲的很详细了

C++中,能否定义一个指针 指向一个 数组指针?如何操作?~

数组指针,用楼上的话就是指向数组的指针,操作指针就可以操作数组如下:
int
a[3]
=
{1,2,3};
int
*p
=
a;
printf("数组指针:%d
",
*(p+1));
//
打印的结果为2,原因是p初始化指向了数组a的首地址,即a[0]。*(p+1)即先将地址向后挪动一位即指向了a[1],再取地址里面的值,即取a[1]的值,故结果为2。
指针数组,保存指针的数组:
int
a1[2]
=
{1,2};
int
a2[3]
=
{1,2,3};
int
a3[4]
=
{1,2,3,4};
int*
parray[3]
=
{a1,
a2,
a3};
printf("指针数组:%d
",*(parray[2]+3));
//打印结果为4,原因是每个数组的数组名就是指向该数组第一个元素的指针。而parray是存了3个指针的数组,parray[2]就是指针a3,a3+3就是指向了a3的第4个元素,所以parray[2]+3指向了a3的第4个元素。*(parray[2]+3))就是取地址里面的值,故为4

直接定义即可。
比如已有一个类class A, 再定义一个类class B,这样在B的定义中,就可以有一个A*类型的成员变量。
示例代码一:
class A{private: int a;public: int c;public: A(int i) { a = i; }; int Fun(int b) { return ((a * c) + b); };};示例代码二:
int (A::*pFun)(int) = A::fun;或int A::*pFun(int);pFun = A::fun;