首页 > 解决方案 > 比较C中的空值和NULL

问题描述

我有一个问题 - 人们通常如何将值与NULL数组中的空格或空格进行比较?

事情从这里开始:我创建了一个空指针数组 - 只需使用代码:

 Vertex *VertexArray[15];

在我的调试过程中,它看起来像这样

现在我很想将另一个Vertex节点与这个数组进行比较 - 比如说1st一个。-VertexArray[0]

在此处输入图像描述

但我不能......系统不允许我这样做......它向我显示错误: 在此处输入图像描述

我用了这个论点——

if ( VertexArray[A->BusStopNumber]->Vinfo== NULL || VertexArray[A->BusStopNumber]->Vinfo->BusStopNumber == A->BusStopNumber)//both A and B are not in the graph   

smh做错了吗?或者我应该如何解决它?

谢谢你们的帮助。

标签: arrayscgraphnull

解决方案


我有一个问题 - 人们通常如何将值与数组中的 Null 或空格进行比较?

NULL 和空白是两个非常不同的东西。NULL 是不指向任何有意义的指针的标准值。

在您的代码中,VertexArray[A->BusStopNumber]->Vinfo由于VertexArray[A->BusStopNumber]可能为 NULL 导致段错误,->Vinfo正在尝试访问相对于 NULL 的内存,而 NULL 不存在。

您可以通过首先检查是否VertexArray[A->BusStopNumber]为 NULL 来解决此问题。


推荐阅读