I have encountered the following snippet:

pt->aa[!!(ts->flags & MASK)] = -val;
  1. What does !! (double exclamation marks/ exclamation points/ two NOT operators) stand for in c?
  2. Doesn't (!!NULL) == NULL?
Edit
Report