2017-03-24 3 views
0

Je regardais par le code écrit par d'autres et bousculé « si » je ne comprends pas:Que signifie CHAR_pointer?

if (!buffer || len == 0) 

en fonction

void getText(const char* objName, char* buffer, uint16_t len) 

tampon, transmis à la fonction, est tableau de caractères a déclaré: char buff [10] = {0};

Que signifie "tampon"? Si cela est booléen, cela aurait du sens pour moi, mais je n'ai jamais vu auparavant une telle déclaration comme Non Char_Pointer. Pouvez-vous l'expliquer s'il vous plaît?

Répondre

1

Cela signifie "non nul". Lorsque vous utilisez un type avec un opérateur logique, il est "converti contextuellement à bool", si possible, et pour les pointeurs le résultat de la conversion est true si le pointeur n'est pas nul. Voir Conversions booléennes au http://en.cppreference.com/w/cpp/language/implicit_conversion pour plus de détails.

Je suppose que vous utilisez C ou C++ à partir de la syntaxe, mais en général, vous devez étiqueter les questions avec le langage de programmation.