소스
#include
int main(int argc, char *argv[])
{
int i;
char **ptr;
extern char **environ;
for (i=0; i
printf("argv[%d] %s\n", i, argv[i]);
for (ptr=environ; *ptr != 0; ptr++)
printf("%s\n", *ptr);
exit(0);
}
실행시켜보면 쉘환경변수=설정값 이런식으로 출력이 됩니다.
의문점은 어떻게 envrion 외부변수가 초기화 되지도 않았는데
어떻게 그렇게 동작하느냐하는 것입니다.
unistd.h에 다음고 같이 정의되어 있긴 하지만
extern char **environ