void(*VisitFunc)(VertexType v);这样定义全局变量什么意思,高手指导一下啊
引用时是这样的voidDFSTraverse(MGraphG,void(*v1)(VertexTypee)),上面的MGraph,VertexType是数据类型...
引用时是这样的void DFSTraverse(MGraph G,void(*v1)(VertexType e)),上面的MGraph,VertexType是数据类型
展开
5个回答
展开全部
void(*VisitFunc)(VertexType v);
1,按运算符优先级, VisitFunc 先与* 结合, 说明VisitFunc是个指针
2,然后(*VisitFunc) 与后面的 ()结合, 说明*VisitFunc 是个函数
总结: VisitFunc 是个指向函数的指针, 函数的返回类型是void, 参数是VertexType
1,按运算符优先级, VisitFunc 先与* 结合, 说明VisitFunc是个指针
2,然后(*VisitFunc) 与后面的 ()结合, 说明*VisitFunc 是个函数
总结: VisitFunc 是个指向函数的指针, 函数的返回类型是void, 参数是VertexType
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"引用时是这样的void DFSTraverse(MGraph G,void(*v1)(VertexType e)),上面的MGraph,VertexType是数据类型"
不是引用,也是函数声明或定义。
引用明直接DSFTravese(G,v1(e));
void(*VisitFunc)(VertexType v);定义一个函数指针,参数为VertexType类型变量,返回void
建议你看《彻底搞定C指针》
不是引用,也是函数声明或定义。
引用明直接DSFTravese(G,v1(e));
void(*VisitFunc)(VertexType v);定义一个函数指针,参数为VertexType类型变量,返回void
建议你看《彻底搞定C指针》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef void(*VisitFunc)(VertexType v); 相当于定义了一个函数类型,VisitFunc就是自定义的函数类型,
可以用它来定义函数,比如VisitFunc *pFunc, 就可以直接调用(*pFunc)(VertexType v) 这样了,
比如你那个v1 直接 VisitFunc * v1;
可以用它来定义函数,比如VisitFunc *pFunc, 就可以直接调用(*pFunc)(VertexType v) 这样了,
比如你那个v1 直接 VisitFunc * v1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
稍微拓展一下
比如函数VisitFunc是这样的:
void VisitFunc ( VertexType V )
{
printf("正在访问顶点%d\n", V);
}
DFSTraverse传入函数VisitFunc的用途:这样使访问VisitFunc可以用户自己定义。不一定是printf,也许需要把结点的值累加起来
比如函数VisitFunc是这样的:
void VisitFunc ( VertexType V )
{
printf("正在访问顶点%d\n", V);
}
DFSTraverse传入函数VisitFunc的用途:这样使访问VisitFunc可以用户自己定义。不一定是printf,也许需要把结点的值累加起来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询