POSIX.1也规定应使用environ而不使用第三个参数。通常用getenv和putenv函数(7.9节将说明)来存取特定的环境变量,而不是用environ变量。但是,如果要查看整个环境,
相当于:
则必须使用environ指针。
unistd.h:extern char **__environ;
unistd.h:extern char **environ;
#include <unistd.h>
extern char **environ;
int main(){
char **env = environ;
while(*env){
printf("%s\n",*env);
//printf("%c\n",**env);
env++;
}
exit(0);
}
相当于:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv,char** envp)
{
int i=0;
for(i=0;envp[i]!=NULL;i++)
printf("envp[%d]=%s\n",i,envp[i]);
return 0;
}