Я просматривал код, написанный другими, и наткнулся на «если», я не понимаю:
if (!buffer || len == 0)
в функции
void getText(const char* objName, char* buffer, uint16_t len)
буфер, передаваемый в функцию, представляет собой объявленный массив символов: char buff[10]={0};
Что означает «!buffer»? Если бы это было логическое значение, это имело бы для меня смысл, но я никогда раньше не видел такого утверждения, как Not Char_Pointer. Можете ли вы объяснить это, пожалуйста?