请问以下这样定义全局变量什么意思?高手指导一下!

引用时是这样的void DFSTraverse(MGraph G,void(*v1)(VertexType e)),上面的MGraph,VertexType是数据类型

一只斗牛犬
浏览 231回答 3
3回答

慕妹3242003

void(*VisitFunc)(VertexType v);1,按运算符优先级, VisitFunc 先与* 结合, 说明VisitFunc是个指针2,然后(*VisitFunc) 与后面的 ()结合, 说明*VisitFunc 是个函数总结: VisitFunc 是个指向函数的指针, 函数的返回类型是void, 参数是VertexType

桃花长相依

其实说简单点就是:*VisitFunc意思是指针!假如你之前定义一个int *p,那么*VisitFunc就是放p的!(如果你没学指针的话,建议去看一下!)VertexType v其实就是一个定义好了的数据类型VertexType,直接用它来定义v!可以看做是int v或者是char v!

SMILET

"引用时是这样的void DFSTraverse(MGraph G,void(*v1)(VertexType e)),上面的MGraph,VertexType是数据类型"不是引用,也是函数声明或定义。引用明直接DSFTravese(G,v1(e));void(*VisitFunc)(VertexType v);定义一个函数指针,参数为VertexType类型变量,返回void
打开App,查看更多内容
随时随地看视频慕课网APP