Sorry i did not state the question clearly. Actually i saw the part "if(_test_struct.ptr_sum)" in others people code. I try to implement it by making some modification. The main point is that i don't understand why a void function in IF statement's expression will allow the execution of IF statement. Since from what i known, the void function do not return any value, thus the condition for the execution of IF statement will not occur. However from the code, the IF statement executed.