What dolightslook like without astigmatism

Run an init and a cleanup statement. The init, cleanup and block statements are all under the same scope. One line statements are fine without braces.

Note that there is an ASSERT macro useful for debugging purposes. To enable it, you need to #define DEBUG before including macros.h.

It works in both direction way without any modifications required. It will decide on its on when to decrement or increment. Its smart isn't it?

Astigmatismlightsvs normal vision

As 'new' is a C++ keyword, this would never be compiled with a C++ compiler, but its valid in C. So we used those macros to mix C in C++.

ASSERT Macro will require DEBUG to be defined. Also on error, it will return -1 to exit. TRY performs x. Only on error, it shows custom error message. LOG is reverse, it produces message on success of x.

Using C Macros, we can extend C with a lot of useful functionality. For example, we can create loops like foreach which are very useful and handy when it comes to arrays. These are available in most of high level languages but not in C. But we got macros in C and so we can add on our own!

Seeinglinesfromlightsat night with glasses

Macros involving multiple statements needs braces which are safer to define with a do_while(0) for single execution. STMT expands statements the same way.

These can be used to perform logical operations more conveniently. Specially, == is EQUALS and = is IS. So the age old confusion gets clear here.

Is it normal to seelinescoming fromlights

The source is very clear and the macros available are too common you will find them everywhere. A good Macro is : Portable, safe, involves as less arbitrary variables as possible. Although I am trying my best, there might be some exception errors, please correct if you find any. Also, if I missed some other interesting macros, please contribute to make this collection complete and more usable.

A C implementation of foreach loop, it will go through each element of an array, and will perform operations on each element as returned into pointer item variable.

The real credits goes to all those great C coders who came up with such creative use of C Macros to extend C. I made this collection in honor of The C language and those unknown programmers. I can only take credit for the efforts I made to collect and bringing it to you.