C언어 - 변수의 영역(scope)과 지역변수(Local)

2020. 11. 10. 22:12개인공부/C언어

int main()
{
	int a; // {}영역 안에서만 사용되서 지역변수
    
    a = int_max(1,2);
    
    printf("%d\n", a);
    printf("%p\n", &a);// & 는 주소를 가르킨다.
    					//%p p는 포인터이다. 고로 a의 주소값을 프린트해준다.
    
    {
    	int a;	// main()함수의 지역변수가 아닌 내부의 다른 a변수
        a = int_max(4,5); 
        
        printf("%d\n", a);
        printf("%p\n", &a);
        
        int b =123;
        
     }
     
     printf("%d\n", a);
     printf("%p\n", &a);
     
     return 0;
}

// 하지만 내부의 새로운 a를 선언하면 내부의 a는 다른변수이다.
​
int main()
{
	int a; // {}영역 안에서만 사용되서 지역변수
    
    a = int_max(1,2);
    
    printf("%d\n", a);
    printf("%p\n", &a);// & 는 주소를 가르킨다.
    					//%p p는 포인터이다. 고로 a의 주소값을 프린트해준다.
    
    {
    	//int a;
        a = int_max(4,5); // main()함수의 지역변수인 a변수를 쓴다.
        
        printf("%d\n", a);
        printf("%p\n", &a);
        
        int b =123;
        
     }
     
     printf("%d\n", a);
     printf("%p\n", &a);
     
     return 0;
}

// a의 주소값은 셋다 동일하다. 고로 같은 변수다.

    
    

 

 

홍정모의 따라배우는 C언어

'개인공부 > C언어' 카테고리의 다른 글

C언어 - 재귀 호출  (0) 2020.11.10
C언어 - 지역변수와 스택  (0) 2020.11.10
C언어 - 함수의 프로토 타입  (0) 2020.11.10
C언어 - 함수가 필요할 때  (0) 2020.11.10
C언어 - 표준 입출력 함수들  (0) 2020.11.10