본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 프로그램 실행 환경 값을 가지고 있는 광역 변수 environ

C언어 프로그램 실행 환경 값을 가지고 있는 광역 변수 environ

· 댓글개 · 바다야크

프로그램 실행 환경 값을 가지고 있는 광역 변수 environ

main()함수 인수자 중에 char **envp가 있습니다. 이 인수를 사용해도 되지만 광역변수 char **environ 변수를 사용하셔도 됩니다. envp를 사용할 때에는 사용하지 않더라도 int argc 와 char **argv를 선언해야 합니다.

int main( int argc, char **argv, char **envp)

argc와 argv를 사용한다면 괜찮겠습니다만 사용하지 않는다면 컴파일 때에 경고 메시지가 출력되어 눈에 거슬립니다. 저 같은 경우 에러 보다 warning이 더 무섭습니다. 그야말로 경고죠. 나중에 엉뚱한 결과가 나오면 누군가 등 뒤에서 '거 봐라~' 하는 것 같습니다. ^^

argc와 argv를 사용하지 않으시고 경고를 보는 것도 싫으시다면 environ 변수를 사용하시면 됩니다.

C언어 environ 예제

#include <stdio.h>

extern char **environ;  // 외부 참조 변수로 선언

int main()
{
   while( *environ)
      printf( "%sn", *environ++);

   return 0;
}

C언어 environ 예제 실행 결과

]$ ./a.out
HOSTNAME=jwCentOS
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
       :
LS_COLORS=di=01;31
KDEDIR=/usr
MAIL=/var/spool/mail/jwjw
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/jwjw/bin
HOME=/home/jwjw
       :

]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.