책 내용 질문하기
311p C언어 코드 질문입니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
311
조회수
61
작성일
2018-12-25
작성자
탈퇴*원
첨부파일
C언어 코드 1 int i, j, k; 정수형 i,j,k를 선언한다. 전역 변수이므로 함수에서 변경되는 값이 전체 영향을 미친다 이렇게 되어있는데 전역변수의 역활이 함수에서 변경되는 값이 전체 영향을 미치는 값인가요???? 부가 설명 부탁드립니다
답변
2018-12-26 09:19:45

안녕하세요 길벗 수험서 운영팀입니다.

 

여기서 함수는

void BB(b, c)

void CC(a, c)

void DD(c)

main()

이렇게 4개의 함수가 있습니다.

검은색 동그라미 1번과 같이 main() 함수 바깥쪽에 선언된 변수는 전역변수로

특정 함수 안에서만 사용되는 지역변수와는 달리 전체 함수에서 공통으로 사용됩니다.

 

이와 달리

main 함수에서 선언되는 a[10], b[10], c[20], i, j, k는 main 함수 안에서만 값이 유지되는 지역 변수입니다.

그래서 검은색 동그라미 10번과 같이

BB(b, c)와 같이 b와 c 배열을 인수로 하여 다른 함수로 값을 전달할 때 지역변수가 전달될 때는

검은색 동그라미 22번과 같이 

이를 받는 BB 함수의 시작 부분에서 int b[10], int c[10]와 같이 배열을 다시 선언하면서 값을 전달받게 됩니다.

  

행복한 하루 되세요 :)

  • 관리자
    2018-12-26 09:19:45

    안녕하세요 길벗 수험서 운영팀입니다.

     

    여기서 함수는

    void BB(b, c)

    void CC(a, c)

    void DD(c)

    main()

    이렇게 4개의 함수가 있습니다.

    검은색 동그라미 1번과 같이 main() 함수 바깥쪽에 선언된 변수는 전역변수로

    특정 함수 안에서만 사용되는 지역변수와는 달리 전체 함수에서 공통으로 사용됩니다.

     

    이와 달리

    main 함수에서 선언되는 a[10], b[10], c[20], i, j, k는 main 함수 안에서만 값이 유지되는 지역 변수입니다.

    그래서 검은색 동그라미 10번과 같이

    BB(b, c)와 같이 b와 c 배열을 인수로 하여 다른 함수로 값을 전달할 때 지역변수가 전달될 때는

    검은색 동그라미 22번과 같이 

    이를 받는 BB 함수의 시작 부분에서 int b[10], int c[10]와 같이 배열을 다시 선언하면서 값을 전달받게 됩니다.

      

    행복한 하루 되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.