본문 바로가기
Basic C Language

#18. Variable_Scope

by Srff5123 2023. 4. 26.
728x90

#include <stdio.h>

/*
    지역(local)변수
    전역(global)변수
*/

// int main 밖에 쓰는 전역변수
int global;

char var1 = 'G';

void LocalCount();
void StaticCount();

void local()
{
    int count = 1;

    printf("local : %d", count);
    count++;
}


void stat()  // static : 선언할떄만 초기화 , 정적변수 함수가 종료되어도 소멸x ㅡ 프로그램 종료시에만 소멸
{
    static int count = 1; // 최초 선언에만 반영  한번만 초기화 가능

    printf("static : %d", count);
    count++;
}


int main()
{
    printf("초기화 하지 않은 global 값 : %d\n", global);


    printf("main에서의 var1 : %c\n", var1);
    //지역 변수
    {
        char var1 = 'L';
        printf("{}에서의 var1 : %c\n", var1);
    }

    printf("main에서의 var1 : %c\n", var1);

    for (int i = 0; i < 5; i++)
    {
        LocalCount();
        StaticCount();
    }

    return 0;
}

void LocalCount()
{
    int count = 1;

    printf("local count : %d\n", count);
    count++;
}

void StaticCount()
{
    static int count = 1;

    printf("static count : %d\n", count);

    count++;


    for (int i = 0; i < 5; i++)
    {
        local();
        stat();
    }
}

728x90

'Basic C Language' 카테고리의 다른 글

#20. String  (1) 2023.04.26
#19. Memory_structure  (0) 2023.04.26
#17 . 별로 간단한 모양 찍기  (0) 2023.04.19
#16. 2D_array  (0) 2023.04.19
#15. Array_sort(배열 정렬)  (0) 2023.04.19