본문 바로가기
C 언어

C 언어 4일차 : for/while문, 주소/ 배열의 개념

by Detol 2022. 12. 22.

안녕하세요 이번에는 제목과 같이 for/while문, 주소/배열의 개념에 대해 알아보겠습니다.

 

 

for(초기값; 조건문; 증가값) {
    실행구문;
}

 

for문의 기본적인 형식입니다.

초기 값이 조건문을 만족하는 한 for문 내부의 실행구문이 계속 반복되는 형식이어서 반복문이라 불립니다.

 

int main(void)
{
    printf("C-Programming\n");
    printf("C-Programming\n"); 
    printf("C-Programming\n");
    printf("C-Programming\n");

    return 0;
}

 

반복문을 사용하여 위의 예문과 같은 결과를 만드는 예문을 보여드리겠습니다.

int main(void)
{
    for (int i = 0; i < 4; i++)
    {
        printf("C-Programming\n");
    }

    return 0;
}

 

초기값으로 0으로 초기화한 정수형 변수 i가 들어갑니다.

조건문 부분에 i < 4 를 넣어주어서 i가 4와 같거나 커지게 되면 반복문이 종료되게 합니다.

증가값으로는 증감연산자를 이용해 i가 1씩 증가하게 합니다.

 

위의 과정을 거쳐서 0으로 시작한 i 값이 4보다 작은 3일 때 까지 반복문이 실행되며,

i 값이 0, 1, 2, 3 까지 반복문이 실행되므로 처음 예문과 같은 결과를 만들게 됩니다. 

 

 

위의 개념을 응용해 2중 for문을 사용하여 구구단을 출력하는 예문을 만들어보겠습니다.

int main(void)
{
    for (int i = 2; i <= 9; i++)
    {
        for (int j = 1; j <= 9; j++)
        {
            printf("%2d X %d = %2d\n", i, j, i * j);
        }
        printf("\n");
    }

    return 0;
}

 

 

while문은 for문과 흡사하지만 구성이 약간 다릅니다.

시작값
while(조건문) {
    실행구문;
    
    증가값;
}

 

위와 같은 형태를 이룹니다. C-Programming 을 4번 출력되게 만들어보겠습니다.

int i = 0; //while구문의 초기값
while (i < 4) //조건문
{
    printf("C-Programming\n");
    i++; //증가값
}

 

for문과 사용 방법은 같지만 구조가 다른 것을 확인할 수 있습니다.

 

 

다음은 주소에 대해서 알아보겠습니다.

int a = 10;
int b = 50;

 

a, 와 b라는 정수형 변수를 선언하고 각각의 값으로 초기화를 해주었습니다.

a와 b의 선언과 동시에 int 형 정수의 크기인 4byte 씩 만큼 컨퓨터에서 임의로 위치를 지정합니다.

      a          
       
    b            
       

a와 b가 각각의 주소를 할당 받은 것은 도식화 해보았습니다.

위 표 처럼 변수를 선언하게 되면 컴퓨터 자체적으로 랜덤하게 위치를 지정하고,

변수의 자료형의 크기만큼 공간을 할당합니다.

 

 

다음은 배열의 정의와 선언법에 대하여 알아보겠습니다.

배열이란 같은 자료형의 변수들을 한데 모아 선언하는 방법입니다.

a, b, c, d 의 정수형 변수들이 각각 선언되게 되면,

네개의 주소가 다 다른곳에 저장되기 때문에 효율적으로 묶어주는 것 입니다.

int num[4];

 

의 형식으로 배열을 선언합니다.

[] 사이에 임의의 숫자를 넣어 몇개의 정보를 묶을 것인지 결정합니다.

a b c d

 

배열을 선언하게 되면 위와 같이 4가지의 정보가 차례대로 저장되게 됩니다.

저 도식에서 한칸은 4byte입니다. (int 형 자료형이기 떄문에)

 

 

 

댓글