C++ 编纂图的关键路径中遇到的关于指针的使用
C++ 编写图的关键路径中遇到的关于指针的使用
Stack = (int *)malloc(sizeof(int) * G->NumVerTex);
for(int i = 0;i < G->NumVerTex;i++)
{
if(!(G->VerTex[i].in)) //将入度为0的顶点存储在Stack栈中
{ Stack[rear++] = i;
cout<<Stack[rear]; / / 问题:这里Stack[rear]的值是地址而不是i;
cout<<"rear"<<rear<<endl;}
}
我看网上很多人都是这样用,不知道是哪里出问题了。PS :我用的是VS2010
------解决方案--------------------
Stack = (int *)malloc(sizeof(int) * G->NumVerTex);
for(int i = 0;i < G->NumVerTex;i++)
{
if(!(G->VerTex[i].in)) //将入度为0的顶点存储在Stack栈中
{ Stack[rear++] = i;
cout<<Stack[rear]; / / 问题:这里Stack[rear]的值是地址而不是i;
cout<<"rear"<<rear<<endl;}
}
我看网上很多人都是这样用,不知道是哪里出问题了。PS :我用的是VS2010
------解决方案--------------------
Stack[rear++] = i;
cout<<Stack[rear];//这里即不会是i的值,也不会是地址的值吧
//s是不是上面的i++越界了引起的垃圾值呢?
//cout <<(void*)Stack[rear];