블로그 이미지
그림무지

카테고리

분류 전체보기 (86)
my (0)
book (25)
movie (53)
picture (4)
programming (4)
05-19 10:52
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함

글로벌변수(전역변수) 선언 후 프로그램 전체에서 사용가능

로컬변수(지역변수) 함수안에서 사용하고 함수가 종료되면 사라진다

 

#include<stdio.h>

int y;                    //글로벌변수 y
int z;                   //글로벌변수 z

 

void myfunc(int a)
{
 int z;                  //글로벌 변수 z가 있어도 함수안에서는 로컬변수 z가 우선
 int x;                  //myfunc함수의 로컬변수 x
 x=a;                   //myfunc함수의 로컬변수 x에 a를 대입
 y=a;                   //글로벌변수 y에 a를 대입
 z=a;                   //myfunc함수의 로컬변수 z에 a를 대입
}     //myfunc함수가 종료되었으므로 로컬변수 x, z에 넣은 값은 사라지고 글로벌변수 y에 넣은 a만 살아남는다

 

main()
{
 int x;                  //동일한 이름의 로컬변수끼리는 별개의 변수로 간주
 x=10;
 y=10;
 z=10;
 printf("x, y, z의 값은 %d, %d, %d\n", x, y, z);  //로컬변수x=10, 글로벌변수y=10, 글로벌변수z=10
 myfunc(5); //myfunc함수가 종료되었으므로 로컬변수 x, z에 넣은 값은 사라지고 글로벌변수 y에 넣은 a만 살아남는다
 printf("x, y, z의 값은 %d, %d, %d\n", x, y, z);  //로컬변수x=10, 글로벌변수y=5, 글로벌변수z=10
}

 

myfunc의 x와 main의 x는 별개의 x다.

로컬변수 z는 함수가 끝나고 나면 글로벌 변수 z로 대체된다.

 

Posted by 그림무지
, |