7 Stimmen

c-Syntax-Hilfe - sehr einfach

Wenn wir

char *val = someString;

und dann sagen

if(val){
    ....
}

Was ist die if Aussage hier tatsächlich überprüft?

1voto

Pascal Cuoq Punkte 77147

Die Anweisung prüft, ob val , was dasselbe ist wie someString ist nicht NULL . Im Allgemeinen if (v) ist eine Abkürzung für if (v!=0) .

1voto

Pavunkumar Punkte 4931

Es wird nur geprüft, ob val NULL ist oder nicht.

1voto

Felix Punkte 86442

Wie andere bereits gesagt haben, wird geprüft, ob der char-Zeiger nicht NULL ist. Wenn Sie prüfen wollen, ob die Zeichenkette nicht leer ist, versuchen Sie strlen .

0voto

uray Punkte 10676

Val ist ein Zeiger, diese Anweisung ist gleich if(val !=0), wobei 0 auch als NULL definiert ist, so dass geprüft wird, ob dieser Zeiger auf eine NULL-Adresse zeigt, beachten Sie, dass ein NULL-String-Zeiger nicht dasselbe ist wie ein leerer String

0voto

vivek Punkte 131

Die obige if-Bedingung prüft, ob der Zeiger auf eine Nicht-Null-Zeichenkette zeigt. wenn der Zeiger auf eine Nicht-Null-Zeichenkette zeigt, ist die Bedingung wahr, sonst falsch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X