I'm using NSAssert macro for Objective-C assertion, and it's the regular way to do this. But it's not work in C functions. What do I should use for this?
                +2 
                A: 
                
                
              
            void assert(int expression); 
If expression evaluates to 0 (false), then the expression, source code filename, 
and line number are sent to the standard error, and then calls the abort 
function. 
If the identifier NDEBUG ("no debug") is defined with #define NDEBUG then the 
macro assert does nothing.
Example:
assert(x != 0);
note: Include assert.h
                  N 1.1
                   2010-05-02 08:52:09