티스토리 뷰
지역변수
- 지역변수 개요
- 변수 스코프(Scope) : 변수 참조가 가능한 유효범위
- 함수 내에 선언된 변수
- 변수가 선언된 블록에서만 유효한 변수
- 함수가 시작 시 생성, Stack에 생성
- 함수가 종료되면 변수도 소멸
- 초기화 전 쓰레기 값을 가지고 있음
- 매개변수도 지역변수
- 지역변수의 유효범위
- 변수가 선언된 블록에서만 유효
- 함수 시작 시 생성되고 종료 시 소멸
- 생성 시 쓰레기 값을 가짐
- 매개변수도 지역변수임
- 블록 내에서 변수 선언이 가능(C99)
- 선언된 블록에서 유효
전역변수
- 전역변수 개요
- 프로그램 내 전체 함수에서 유효, Global Variable
- 프로그램 시작 시 생성, 데이터 영역에 생성
- 프로그램 종료 시 소멸
- 함수 밖에서 선언
- 자동으로 0으로 초기화
- 전역변수는 프로그램 전체에서 참조하므로 복잡성을 증대
- 메모리 공간을 점유
- 모듈화의 독립성 확보가 어려움
- 전역변수 다중 파일
- extern을 선언하여 외부에서도 참조 가능
예제
//main.c
#include <stdio.h>
int a;
int main()
{
int a= 7;
printf(“%d”, a); a=3;
printf(“%d”, a);
sub();
printf(“%d”, a);
return 0;
}
//sub.c
extern int a;
void sub( )
{
printf(“%d”, a);
a++;
}
정리
- 전역변수
- 프로그램 시작 시 생성, 데이터 영역에 생성
- 프로그램 종료 시 소멸
- 함수 밖에서 선언
- 자동으로 0으로 초기화
- 전역변수는 프로그램 전체에서 참조하므로 복잡성을 증대
- 지역변수
- 변수 스코프(Scope) : 변수 참조가 가능한 유효범위
- 함수 내에 선언된 변수, Local Variable
- 변수가 선언된 블록에서만 유효한 변수
- 함수가 시작 시 생성, Stack에 생성
- 함수가 종료되면 변수도 소멸
- 초기화 전 쓰레기 값을 가지고 있음
- 매개변수도 지역변수
'스마트웹 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글
문자열 (0) | 2021.07.27 |
---|---|
배열 (0) | 2021.07.27 |
함수 (0) | 2021.07.26 |
반복문 (0) | 2021.07.25 |
조건문 (0) | 2021.07.25 |
댓글