Hi. 1) A question on libc function: int getopt(int argc, char * const argv[], const char *optstring); The fact that it declares "char * const argv[]" and not "const char * const argv[]" means that it changes argv ? 2) Is libc containing POSIX functions shipped with gcc, or it is a completely different project ? Regards and thank you Dima.