#objective-c #c
#objective-c #c
Вопрос:
допустим, у меня есть структура,
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] = amp;rm[j] // this is how I point the door to an other room, works fine too.
но когда я проверяю наличие strlen или null, предположим, я назначаю только одну дверь из room1 в room2, room1 каким-то образом имеет более одной непустой двери.
Есть ли способ проверить, пусты двери или нет?
Спасибо
Комментарии:
1. По какой причине вы использовали
struct
для этого вместоObject
?2. это требование к назначению, указан файл заголовка.
Ответ №1:
При инициализации нового объекта 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;
};