关于指针的问题

烈火蜓蜻 2010-08-18 03:48:18
a. int (*p)[3]; //定义一个指向数组的指针
b. int *(*p(int))[3]; //定义一个参数为整型返回值指向由整型指针组成的数组的函数


int (*p)[3] 这样的变量要怎么使用
int *(*p(int))[3] 这个是什么类型,要如何使用?
...全文
107 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2010-08-18
  • 打赏
  • 举报
回复
int *(*p(int))[3]函数指针组
seoyui123 2010-08-18
  • 打赏
  • 举报
回复

void Student::getName(){//成员函数
cout << "举一反三" << endl;
}
void(Student::*p1)()=&Student::getName;//p1指向该成员函数
//使用方法
Student me;
(me.*p1)();
烈火蜓蜻 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hewenkang 的回复:]
int (*p)[3]声明了一个指向一维数组(此数组包含3个元素)的指针
可以这样用:int a[3]={1,2,3};
p=&a;
这样p就指向了一维数组a
[/Quote]


如果int (*p)[3]
可以指向,长度不一样的数组吗?
烈火蜓蜻 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hewenkang 的回复:]
int *(*p(int))[3]这是一个函数指针
*p(int)说明这是一个函数指针,需要一个int类型的参数;外面的部分int *( )[3]说明了这个函数的返回值,是一个包含3个元素的一维数组,元素类型为整形指针
[/Quote]

能举个赋值和使用的例子吗?
hastings 2010-08-18
  • 打赏
  • 举报
回复
第二个模板编程里面用到的吧?
hewenkang 2010-08-18
  • 打赏
  • 举报
回复
int *(*p(int))[3]这是一个函数指针
*p(int)说明这是一个函数指针,需要一个int类型的参数;外面的部分int *( )[3]说明了这个函数的返回值,是一个包含3个元素的一维数组,元素类型为整形指针
hewenkang 2010-08-18
  • 打赏
  • 举报
回复
int (*p)[3]声明了一个指向一维数组(此数组包含3个元素)的指针
可以这样用:int a[3]={1,2,3};
p=&a;
这样p就指向了一维数组a
yzx714 2010-08-18
  • 打赏
  • 举报
回复
1.int (*p)[3] ,就是用它来指向3个整形元素的指针啊,可以在循环中进行迭代
2.declare p as function (int) returning pointer to array 3 of pointer to int
Jim_King_2000 2010-08-18
  • 打赏
  • 举报
回复

int (*p)[3];
a[3];
p = a;

int *(*p(int))[3] // 这个是在没有用过。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧