파일 개수를 알려 주는 전역 변수 int file_count; 가 있습니다. 그리고 파일 개수 file_count 만큼

파일 이름을 출력하는 show_file_name() 함수를 만든다고 했을 때 file_count 변수를

인수로 넘겨 처리하는 것이 좋을까요? 아니면 전역 변수 file_count를 사용하는 것이 좋을까요?


두 방법 중에 어느 하나가 좋거나 옳다교 비교하여 말할 수 없겠습니다.

최고의 코딩 방법은, 글쎄요, 코딩에 따라 달라지기 때문에 없다고 생각합니다.

그러나 두 가지 방법 중에 선호하는 방법으로 말씀 드린다면 전역 변수라도

인수로 전달하는 것이 좋습니다.


이유는 show_file_name() 함수를 다른 모듈로 이동할 수 있고

또는 라이브러리에 포함할 수 있기 때문이죠.


만일,


void show_file_name( void)

{

    int ndx;


    for ( ndx = 0; ndx < file_count; ndx++){

      printf( "file_name[%d]=%s\n", ndx, ary_file_name[ndx]);

    }

}

라고 했다면 전역 변수를 사용할 수있는 곳에서만 사용할 수 있는 함수입니다.


그러나,


void show_file_name(  int var_file_count){

}


했다면 다른 곳으로 이동해도 문제 없겠지요?

그래서 함수가 전역 변수를 사용한다고 해도 가독성을 현저하게 떨어 뜨리지 않느 이상
인수로 받아 처리하는 것이 좋습니다.