Я просмотрел такой код. Что означает это условие?Что означает это условие?
Node *root;
while(root){
}
Я просмотрел такой код. Что означает это условие?Что означает это условие?
Node *root;
while(root){
}
Это условие означает, что в С следующий и
while(root != NULL){
//...
}
или в C++
while(root != nullptr){
//...
}
Предполагается, что переменная корень изменяется в цикле C++.
В противном случае вам понадобится еще какое-то условие внутри цикла, чтобы разбить его.
Он используется структура данных LINKLIST, где вы хотите, чтобы перейти к последней точке или узлу данных, как этот
while(root != NULL){
ptr=ptr.next;
}
где также указатель узла и он идет вперед к данным, хранящимся на разных местах
Это означает, что root является указателем, указывающим на нуль или не указывая ни одного узла.
Когда мы проверяем или перебирать его на связанный список, то мы используем непосредственно в то время как цикл, который выполняется до состояния не станет ложным
While(true)
While(root)
While(root !=null)
Node *root; while(root){ }
Прежде всего, это точная часть коды это неопределенное поведение, потому что root
не инициализирован и не имеет значения, установленного для него до начала цикла. Но указатель должен иметь допустимое значение, когда он должен использоваться в условии цикла. Обратите внимание, что nullptr
является допустимым значением.
Если root
был инициализирован (или установить действительное значение после этого), то while
будет гласить: «Выполните следующие вещи, пока root
не nullptr
.»[*]
Для удобства понимания, было бы лучше назвать это намерение явно:
while (root != nullptr) {
}
[*]nullptr
существует с C++ 11. В предыдущих версиях C++ вы использовали бы 0
или NULL
.
Цикл while должен быть объяснен в любом уроке. Пожалуйста, сделайте некоторое исследование, прежде чем задавать бесполезные вопросы. –