簡體   English   中英

如何檢查空指針

[英]how to check for empty pointers

說我有一個結構,

struct room{
char name[21];
int num1;
int num2;
struct room *doors[4];

};

這樣的房間數量,

struct room rm[Number_of_room];

和每個房間:

scanf(name | num1 | num2)
strcpy(rm[i].name, name)
rm[i].num1 = num1
rm[i].num2 = num2

一切正常。

直到,我希望檢查門是否指向已經或不存在的東西,

UP=0, RIGHT=1, DOWN=2, LEFT=3

rm[i].doors[0] = &rm[j]   // this is how I point the door to an other room, works fine too.

但是當我檢查strlen或null時,假設我只將一個門從room1分配給room2,room1不知何故有多個非空門。

有沒有辦法檢查門是否是空的?

謝謝

初始化struct room類型的新對象時,將其doors成員設置為NULL。 然后比較NULL並查找它們是否已設置

struct room object;
object.doors[0] = NULL;
object.doors[1] = NULL;
object.doors[2] = NULL;
object.doors[3] = NULL;

if (object.doors[2] != NULL) {
    /* already assigned something */
    /* maybe reset? */
    object.doors[2] = NULL;
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM