삽질의 현장/- C

[Surro] :: C언어 이론 06. 배열

shovelman 2013. 10. 6. 22:20

6.배열

-배열이란? : 많은 양의 데이터를 처리하는 경우 유용하게 사용할 수 있다

같은 자료형을 가진 변수들을 한번에 정의

-종류

>1차원 배열

:첫번째 배열 요소의 인덱스는 0이다

배열의 길이를 선언 할 때는 반드시 상수를 사용해야한다

ex)

int size = 10;

int arr[size]; // ERROR!

선언과 동시에 초기화가 가능하다

+형식

int array[10];

int : 배열 요소 자료형 - 배열을 구성하는 각각의 요소는 int형 변수라는 의미

array : 배열 이름 - 배열 요소에 접근할 때 array라는 이름을 사용하겠다는 의미

[10] : 배열 길이 - 변수 10개를 모아서 배열을 구성한다는 뜻

 

 

ex)

#include<stdio.h>

 

int main(void)

{

double total;

double val[5] = {1.01, 2.02, 3.03, 4.04, 5.05};

 

total = val[0]+ val[1]+ val[2]+ val[3]+ val[4];

printf("평균 : %lf \n",total/5);

 

return 0;

}

>1차원 배열 (문자)

: 문자열을 포함할 때에는 문자열의 끝을 의미하는 문자 하나를 마지막에 삽입해야함. = \0(NULL)

 

ex) - 배열을 이용한 문자열 출력

#include<stdio.h>

 

int main(void)

{

char str1[5] = "Good";

char str2[] = "Morning";

 

printf("%s \n",str1);

printf("%s %s \n",str1, str2);

 

return 0;

}

 

>다차원 배열

:2차원 이상의 배열을 의미

2차원 배열 선언시 인덱스 값이 의미하는 바는 세로줄()의 길이이고, 두번째 인덱스 값이 의미하는 바는 가로줄()의 길이이다

첫번째 인덱스 값은 생략 가능

 

ex)

#include<stdio.h>

 

int main(void)

{

int somang[4][2];

int i,j;

int popu;

 

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

{

for(j = 0; j < 2; j ++)

{

printf("%d%d호 인구 입력 : ", i+1, j+1);

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

}

}

 

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

{

popu = 0;

for(j = 0; j <2; j++)

{

popu += somang[i][j];

}

printf("%d층 전체 인구 : %d \n",i+1,popu);

}

return 0;

}

<참조 : C 열혈강의>