#include
#include
void do_nofail(void *ptr, const char *expr)
{
if(ptr)
printf ("Memory allocation good:%s\n", expr);
else
printf ("Memory allocation failed:%s\n", expr);
}
#define NOFALL(ptr) do_nofail((ptr), #ptr)
int main()
{
char buf[5] = {'a', 'b', 'c', 'd', 'e'};
char *p = buf;
NOFALL(buf);
NOFALL(p);
NOFALL(malloc(sizeof(int)));
return 0;
}
[beyes@beyes c]$ ./do_nofail
Memory allocation good:buf
Memory allocation good:p
Memory allocation good:malloc(sizeof(int))
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |