Re: A little explanation needed

From: DervishD (raul@pleyades.net)
Date: Sun Dec 22 2002 - 15:12:23 EST


    Hi Joshua :)

> In otherwords, what's the use of a do{X}while(0) "loop" instead of
> just X. I'm not the world's best trained C programmer, so forgive
> me if I sound stupid.

    First, you do not sound stupid at all.

    Second. The do...while use in macros is to avoid the 'swallow
semicolon' effect ;)) In other words, it makes the entire macro
appear as a single statement. This avoids problems with 'else'
constructs with macros that expand to multiple statements.

    Someplace in the GNU cpp documentation you can find a far better
explanation of this effect and why the do...while helps (it makes the
macro a single statement...).

    Hope that helps :)
    Raśl
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:31 EST