Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2012, 19:21   #1
millepetrozza
Пользователь
 
Регистрация: 22.09.2012
Сообщений: 33
По умолчанию Обозначения

Что означает запись while(*strng) и if(! *strng) и что будет при этом происходить, если strng - указатель на символьную строку.
millepetrozza вне форума Ответить с цитированием
Старый 21.11.2012, 19:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

while(*strng) означает что цикл будет продолжаться, пока значение, на которое указывает указатель не станет равным нулю
Си позволяет записывать сокращеную форму проверки на ноль. В аналоге это бы выглядело так: while(*strng!=0).
С if то же самое, но отрицание: Если указатель не указывает на ячейку памяти с нулем.

P.S. Это исползуется при проходах по ASCIIZ строкам через указатели и итераторы
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.11.2012, 19:32   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

*strng - значение символа по указателю, while(*strng) эквивалентно while (*strng != 0), т.е. внутри цикла будут происходить какие-то операции, пока указатель не дойдет до нуль-символа.
while(! *strng) эквивалентно while (*strng == 0), т.е. действия будут выполняться пока strng указывает на нуль-символ(ы)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 21.11.2012, 19:33   #4
millepetrozza
Пользователь
 
Регистрация: 22.09.2012
Сообщений: 33
По умолчанию

Таким образом итерации будут повторяться, пока строка не кончится, а условие "if" проверяет не закончилась ли строка, или проверяется наличие в строке нуля?
millepetrozza вне форума Ответить с цитированием
Старый 21.11.2012, 20:13   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет. IF в таком цикле как правило как пятое колесо у зайца.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно написать в комментах обозначения функций ilnar21 Помощь студентам 3 19.01.2011 14:46
обозначения на графике ruavia3 Microsoft Office Excel 0 19.10.2009 16:26
Обозначения файла Hookis Общие вопросы Delphi 20 21.08.2009 13:32
Подскажите пожалуста! есть ли переменная для обозначения дисковода? Medyankin Помощь студентам 4 27.07.2008 15:58