#1
  1. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2002
    Location
    Hyderabad
    Posts
    17
    Rep Power
    0

    Variable Number of Arguments in C


    Hai ,

    I have a doubt regarding Variable number of arguments in C . va_end macro doesn't have any code to execute in stdarg.h. But in some of the books ( ex : C Complte Reference ) he is saying that if va_end is not called stack may not be restored properly . How it is possible . There is nothing to execute , but it does something . Please clarify me.



    Suri


    Thank u

    Suri
    Last edited by bsuribabu; December 23rd, 2002 at 03:23 AM.
  2. #2
  3. Banned ;)
    Devshed Supreme Being (6500+ posts)

    Join Date
    Nov 2001
    Location
    Woodland Hills, Los Angeles County, California, USA
    Posts
    9,607
    Rep Power
    4247
    va_start(), va_list() and va_end() are part of the ANSI C standard specification. In gcc, these functions are implemented as macros. Just because there is no code for va_end() in your particular C compiler does NOT mean that there is no code generated for *ALL* compilers. So, if you omit the va_end(), it may work on your particular compiler, but is not guaranteed to work with other compilers.

IMN logo majestic logo threadwatch logo seochat tools logo