몽상실현개발주의

[따배씨] 9.4 변수의 영역과 지역 변수 본문

Language/C

[따배씨] 9.4 변수의 영역과 지역 변수

migrationArc 2021. 5. 27. 23:51

[따배씨] 9.4 변수의 영역과 지역 변수

따배씨 - 따라하며 배우는 C언어

9강 함수

9.4 변수의 영역 Scope 과 지역 변수 Local Variable

  • 변수는 변수를 사용 할수 있는, 유효한 영역이 존재
    • 변수의 유효한 범위는 { } 안의 영역임, 지역 변수
  • 더 큰 영역의 변수를, 그 안의 더 작은 영역에서 새로 선언 하게 된다면 새로운 변수가 됨
  • 작은영역의 변수는 더 큰 영역에서 사용 불가, 볼 수 없음
    • invisible

 

#include <stdio.h>

int int_max(int i, int j);

int main(){
    int a;
    
    a = int_max(1, 2);
    
    printf("%d\n", a);
    printf("%p\n", &a);
    
    {
        a = int_max(4, 5);
        
        printf("%d\n", a);
        printf("%p\n", &a);
    }
}

int int_max(int i, int j)
{
    int m;
    m = (i > j) ? i : j;
    return m;
}
  • printf("%p\n", &a);
    • 주소값 직접 출력
  • 출력되는 모든 주소값이 똑같은것을 확인 할수 있음
    • 같은 주소 == 같은 변수

 

#include <stdio.h>

int int_max(int i, int j);

int main(){
    int a;
    
    a = int_max(1, 2);
    
    printf("%d\n", a);
    printf("%p\n", &a);
    
    {
        int a;
        a = int_max(4, 5);
        
        printf("%d\n", a);
        printf("%p\n", &a);
    }
    
    printf("%d\n", a);
    printf("%p\n", &a);
}

int int_max(int i, int j)
{
    int m;
    m = (i > j) ? i : j;
    return m;
}
  • 출력되는 주소값 중, 새로운 영역 { } 안의 주소값만 다른것을 확인
    • 새로운 영역안에서 지역 변수로 선언한 변수는 새 메모리 주소가 할당 되는 새로운 변수

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments