non è una abbreviazione, una stringa in C termina con il carattere '\0', cioè zero. Siccome lo zero è per il C corrispondente al falso se deferenzi un carattere e controllo se sia zero (o l'equivalente NULL) puoi controllare se la stringa è finita
if (!*app) è una forma concisa di
if (*app == NULL)
chi viene dal C preferisce il primo modo anche se potrebbe sembrare di più difficile comprensione
ciao
sergio