c++ 中的是&什么意思?在c语言中应该如何使用
voidcreateGraph(MGraph&G)//输入图{inti,j,k,w;printf("InputNO.ofnodesandedgesofFork:");sc...
void createGraph(MGraph &G) //输入图
{
int i,j,k,w;
printf("Input NO.of nodes and edges of Fork:");
scanf("%d,%d",&G.node,&G.edge);
getchar();
printf("\n\n");
printf("Input nodes of Fork:");
for(i=1;i<=G.node;i++)
{
scanf("%c",&G.vexs[i]);
getchar();
}
printf("\n\n");
printf("Input the nodes of an edge and its weight:\n");
for(k=0;k<G.edge;k++)
{char v1,v2;
scanf("%c", &v1);getchar();
scanf("%c", &v2);getchar();
scanf("%d", &w); getchar();
i=Location(G,v1);
j=Location(G,v2);
G.edges[i][j]=w;
G.edges[j][i]=w;
}
}
像这个函数中的参数为什么是&G,而不是G就行了呢?(MGraph是我提前定义的一个结构体) 展开
{
int i,j,k,w;
printf("Input NO.of nodes and edges of Fork:");
scanf("%d,%d",&G.node,&G.edge);
getchar();
printf("\n\n");
printf("Input nodes of Fork:");
for(i=1;i<=G.node;i++)
{
scanf("%c",&G.vexs[i]);
getchar();
}
printf("\n\n");
printf("Input the nodes of an edge and its weight:\n");
for(k=0;k<G.edge;k++)
{char v1,v2;
scanf("%c", &v1);getchar();
scanf("%c", &v2);getchar();
scanf("%d", &w); getchar();
i=Location(G,v1);
j=Location(G,v2);
G.edges[i][j]=w;
G.edges[j][i]=w;
}
}
像这个函数中的参数为什么是&G,而不是G就行了呢?(MGraph是我提前定义的一个结构体) 展开
8个回答
展开全部
&G是引用的意思,今天才老师讲了,也就是说它是给实参取别名,C++支持引用,但TURBLE C不支持,给你个简单的看看就知道了,
#include "stdio.h"
void test(int &x)
{
x=x+10;
}
void main()
{
int j=20;
test(j);
printf("%d",j);
}
要是你把&x变成x,就得不到30,而只能得20。
冒着被老师逮的危险给你说,给我加分吧!不说了
#include "stdio.h"
void test(int &x)
{
x=x+10;
}
void main()
{
int j=20;
test(j);
printf("%d",j);
}
要是你把&x变成x,就得不到30,而只能得20。
冒着被老师逮的危险给你说,给我加分吧!不说了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void createGraph(MGraph &G)这句C里边编译应该不通过,这里的&是引用类型,C里边没有引用类型,有指针类型,对一个变量前面加&表示取它的地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你的函数没有返回G,如果传的是G在这个函数改变的在回到主调函数出就没有了,而用&G,是引用,在这个函数里做的改变在主调函数里就会改变了
传参数的问题,三种传参数:值传递、引用传递、指针传递、后两种效果一样的
传参数的问题,三种传参数:值传递、引用传递、指针传递、后两种效果一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&G是指针所指向变量的地址空间。而G只是一个变量名,输入参数必须通过指针地址才能找到那个数的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
取得变量地地址.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询