#c
Вопрос:
У меня есть следующий цикл While, и у меня возник вопрос относительно синтаксиса
- В ! оператор обычно означает не так, означает ли это, что цикл while будет выполняться до тех пор, пока не будет определен выход.
Wavplayback:
typedef struct
{
struct {
BOOL Seek_Active;
DWORD Seek_Postion;
}seek;
CRITICAL_SECTION WavPlaybackCriticalSection;
BOOL LoadNewFile;
BOOL Pause;
BOOL UnPause;
BOOL Stop;
BOOL Verify;
BOOL Play;
BOOL Initialise;
BOOL Exit;
BOOL Flush;
BOOL ValidateHeaderData;
void *Parent;
void (*SetPageState)(LONGLONG Page, DWORD State);
}WAVPLAYBACK;
WAVPLAYBACK *pPlayBack;
typedef int Exit;
while (!pPlayBack->Exit)
{
//Executing some code
}
Комментарии:
1.
->
имеет более высокий приоритет , чем!
, поэтому!pPlayBack->Exit
эквивалентно!(pPlayBack->Exit)
.2. Как вы думаете, какой цели
typedef int Exit;
служит это дело?
Ответ №1:
Да, вы правы. Они завершат цикл, когда pPlayBack->Exit
станут ИСТИННЫМИ по какой-либо внешней(другой поток и т.д.) Или внутренней (внутри цикла) причине.