![]() |
![]() |
![]() |
![]() |
![]() |
|
The effect of the call to the va_start macro is to place the
argument pointer just past the memory chunk occupied by the final ordinary
argument:
*-- The argument count
|
| *-- The place pointed to by argument_pointer
| v
| *-- The price
| |
| | *-- The number of shares
| | |
v v v
------- --------------- -------
--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
| | | | | | | | | | | | | | | | | | | | | | | | | |
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--
To do its job, va_start needs to have access to both the argument
pointer and the location of the final ordinary argument.