arguments are interpreted in the same way (as file names, for example),
you are usually better off using @code{getopt} to do the parsing.
-@c !!! does posix allow envp?
In Unix systems you can define @code{main} a third way, using three arguments:
@smallexample
The first two arguments are just the same. The third argument
@var{envp} gives the process's environment; it is the same as the value
-of @code{environ}. @xref{Environment Variables}.
+of @code{environ}. @xref{Environment Variables}. POSIX.1 does not
+allow this three-argument form, so to be portable it is best to write
+@code{main} to take two arguments, and use the value of @code{environ}.
@menu
* Argument Syntax:: By convention, options start with a hyphen.
@code{getenv}.
@end deftypevar
-@c !!! posix?
Unix systems, and the GNU system, pass the initial value of
@code{environ} as the third argument to @code{main}.
@xref{Program Arguments}.