본문 바로가기

JAVA기반 스마트웹 개발2021/프로그래밍 언어활용

변수의 스코프

 

변수의 스코프

지역변수

    개요
  1. 변수 스코프(Scope) : 변수 참조가 가능한 유효범위
  2. 함수 내에 선언된 변수, Local Variable
  3. 변수가 선언된 블록에서만 유효한 변수
  4. 함수가 시작 시 생성, Stack에 생성
  5. 함수가 종료되면 변수도 소멸
  6. 초기화 전 쓰레기 값을 가지고 있음
  7. 매개변수도 지역변수

유효범위 : 변수가 선언된 블록에서만 유효
01. 생성 시 쓰레기 값을 가짐
02. 매개변수도 지역변수임

03. 블록 내에서 변수 선언이 가능(C99)
04. 선언된 블록에서 유효

전역변수

    개요
  1. 프로그램 내 전체 함수에서 유효, Global Variable
  2. 프로그램 시작 시 생성, 데이터 영역에 생성
  3. 프로그램 종료 시 소멸
  4. 함수 밖에서 선언
  5. 자동으로 0으로 초기화
  6. 지역변수는 프로그램 전체에서 참조하므로 복잡성을 증대
  7. 모듈화의 독립성 확보가 어려움
  8. 메모리 공간을 점유

동일한 이름의 전역변수와 지역변수 사용 시 지역변수가 우선함

다중 파일

extern을 선언하여 외부에서도 참조 가능
extern int 변수; : 외부에 선언된 변수를 참조한다는 선언문

★핵심 요약★

지역변수

    • 변수 스코프(Scope) : 변수 참조가 가능한 유효범위
    • 함수 내에 선언된 변수, Local Variable
    • 변수가 선언된 블록에서만 유효한 변수
    • 함수가 시작 시 생성, Stack에 생성
    • 함수가 종료되면 변수도 소멸
    • 초기화 전 쓰레기 값을 가지고 있음
    • 매개변수도 지역변수
    • 유효범위
      -변수가 선언된 블록에서만 유효
      -함수 시작 시 생성되고 종료 시 소멸
      -생성 시 쓰레기 값을 가짐
      -매개변수도 지역변수임
      -블록 내에서 변수 선언이 가능(C99)
      -선언된 블록에서 유효

전역변수

    • 프로그램 내 전체 함수에서 유효, Global Variable
    • 프로그램 시작 시 생성, 데이터 영역에 생성
    • 프로그램 종료 시 소멸
    • 함수 밖에서 선언
    • 자동으로 0으로 초기화
    • 전역변수는 프로그램 전체에서 참조하므로 복잡성을 증대
    • 모듈화의 독립성 확보가 어려움
    • 메모리 공간의 점유
    • 다중 파일
      -extern을 선언하여 외부에서도 참조 가능

'JAVA기반 스마트웹 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글

문자열  (0) 2021.07.28
배열  (0) 2021.07.28
함수  (0) 2021.07.26
반복문  (0) 2021.07.25
조건문  (0) 2021.07.25