반응형

int a[100] ; //배열의 선언

== a[0], a[1], a[2]. . . . . .a[98], a[99];

이렇게 a라는 변수 100개를 주소를 줘서 사용한다?

 

@ 1차원 배열

위에 서와 같이 대괄호가 한개인 배열입니다.

배열의 선언은 위에서와 같이 하면됩니다.

그럼 값을 넣으려면 어떻게 해야 할까요?

#include <stdio.h>

main(){

    int a[5];

    int i;

    a[0]=100;

    a[2]=200;

    a[3]=400;

    a[4]=700;

 

 

    for(i=0;i<5;i++)

        printf("a[%d] = %d \n",i,a[i]);

}

첫 번째가 a[0]에 넣은 값입니다.

두 번째는 a[1]이 될텐데 값을 넣지 않아서 쓰레기값 -858993460이 나왔네요.

어렵지 않지요?

for()문은 출력을 하기 위한 반복문입니다.

a[5], a[0]~a[4] 까지 입니다.

그래서 i=0 에서 i<5 라는 조건이 들어가게 됩니다.

printf("a[%d] = %d \n",i,a[i]);

출력 할 때는 a[i]를 주게 됩니다. i는 배열의 주소가 되어

반복문에 의해 0~4까지 증가 하겠지요

 

 

배열에 값을 넣는 다른 방법 (선언과 동시에)

#include <stdio.h>

main(){

    int a[5]={100," ",200,400};

    int i;

 

    for(i=0;i<5;i++)

        printf("a[%d] = %d \n",i,a[i]);

 

}

선언과 동시에 값을 주었습니다.

 

 

배열에 값을 넣는 다른 방법(scanf()함수 사용)

#include <stdio.h>

main(){

    int a[5];

    int i;

    

    scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);

    printf("-------------------------------------\n");

    for(i=0;i<5;i++)//출력

        printf("a[%d] = %d \n",i,a[i]);

}

 


배열에 값을 넣는 다른 방법(scanf() 함수, 반복문 사용)

#include <stdio.h>

main(){

    int a[5];

    int i;

    

    for(i=0;i<5;i++)//입력

        scanf("%d",&a[i]);

    printf("-------------------------------------\n");

    for(i=0;i<5;i++)//출력

        printf("a[%d] = %d \n",i,a[i]);

}

어려운 건 없죠?

그냥 scanf()함수를 이용 해서 하는 건 그냥 노가다...이지만

이렇게 반복문을 이용하면 많은 자료를 입력 받을 때도 사용 가능합니다.

 

 

간단한 예제. 입력 받은 값을 역순(거꾸로) 출력하기

#include <stdio.h>

main(){

    int a[5];

    int i;

    

    for(i=0;i<5;i++)//입력

        scanf("%d",&a[i]);

    printf("-------------------------------------\n");

    for(i=4;i>=0;i--)//출력

        printf("a[%d] = %d \n",i,a[i]);

}

출력하는 반복문의 조건들을 자세히 보세요    

for(i=4;i>=0;i--)//출력

위에 소스에서 이 부분만 수정하였습니다.

 

 

배열에서도 반복문의 별찍기와 같이 항상 짚고 넘어가는 여러가지 정렬방법이 있는데요

나중에....ㄷㄷ;

반응형

+ Recent posts