Chinaunix

标题: 指向结构的指针 [打印本页]

作者: chenney    时间: 2004-06-25 16:39
标题: 指向结构的指针
handlers.handler 如果handlers是一个指向结构的指针 你见过这种用法吗
作者: lenovo    时间: 2004-06-25 16:44
标题: 指向结构的指针
你想表达什么意思?
作者: whyglinux    时间: 2004-06-25 16:57
标题: 指向结构的指针
>;>; handlers.handler 如果handlers是一个指向结构的指针 你见过这种用法吗

handlers应该是一个指向结构数组的指针,那么handlers,即 *(handlers + i) 就是这个数组中第 i+1 个结构对象,handler是结构体中的一个数据成员。
作者: wujiajia    时间: 2004-06-25 17:07
标题: 指向结构的指针
解释的非常好
作者: chenney    时间: 2004-06-25 17:15
标题: 指向结构的指针
[quote]原帖由 "whyglinux"](handlers + i) 就是这个数组中第 i+1 个结构对象,handler是结构体中的一个数据成员。[/quote 发表:


忘了说了 handlers定义是一个指向结构的指针而不是指向结构数组的指针
如果是指向结构数组的指针,就不会有这个问题了.

恩 谢谢 现在handler是指向另外一个结构的指针,而且 handlers.handler是这样调用的handlers.handler(..n个实参..) 我想问的是如果执行了i+1 handlers指向了哪里 或者说handlers.handler指向了哪里
谢谢
作者: whyglinux    时间: 2004-06-25 17:31
标题: 指向结构的指针
>;>; 忘了说了 handlers定义是一个指向结构的指针而不是指向结构数组的指针
>;>; 如果是指向结构数组的指针,就不会有这个问题了.

从定义来看handlers当然是一个指向结构的指针。但当它用结构数组的首地址初始化后,我们就可以称这个指针是指向结构数组的指针了。

如果handlers只是指向一个单独的结构体对象,而不是结构体数组,则handlers这样的运算是没有什么意义的。

理解了这一点,至于下面的问题,我就不需要再回答一次 了。

还有,从你上面给出的信息来看,结构成员handler是一个函数指针。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2