有如下这么一段程序: #include extern char**environ; int main () { char**var; for (var =environ;*var !=NULL;++var) printf ("%s /n ",*var); return 0; } 程序很简单,只有一个新面孔: extern char**environ; 这个变量在unistd.h声明了。运行时,里面存储着该进程的环境变量,通常分配在进程空间的最高地址处,如下图: