DevYoon

[C언어] 변수 본문

언어/C

[C언어] 변수

gimewn 2022. 4. 21. 14:43

변수

변수 생성 규칙

  • 예약어 사용 불가
  • 공백 포함 불가
  • 첫 글자는 언더바(_)와 영문자만 사용 가능
  • 대소문자 구분
  • 특수문자는 언더바(_) 외에 사용 불가능

변수의 종류

1) 지역변수

  • 함수나 블록 안에서 선언하는 변수

  • 함수/블록의 종료와 함께 메모리상에서 소멸

  • 초기값이 없으면 쓰레기 값이 들어감

  • 스택 영역에 저장됨

2) 전역변수

  • 함수 블록 밖에서 선언하며 전체 함수에 영향을 미침

  • 프로그램이 종료될 때 메모리상에서 소멸

  • 초기값이 없으면 0이 들어감

  • 데이터 영역에 저장됨

  1. 정적변수

    • static으로 선언하며 선언된 블록 내에서만 사용 가능

    • 함수가 종료되어도 소멸되지 않고, 값이 그대로 유지됨

    • 프로그램이 종료될 때 메모리상에서 소멸

    • 초기값이 없으면 0이 입력되고, 단 한번만 초기화

    • 데이터 영역에 저장됨

  2. 동적변수

    • 메모리 동적할당으로 생성되는 변수

    • Run time 시간에 메모리 할당

    • 동적 기억장소에 할당하여 메모리 낭비를 피함

    • 무조건 포인터를 사용해야 함

    • 힙 영역에 저장됨

[문제]

✅ 프로그램의 실행 시작 시점에서 기억장소를 할당받아 실행이 끝날 때까지 지속적으로 기억장소를 유지한다.

➡️ 전역변수 & 정적변수