씨랭아이티

015.C언어 배열!?

C언어2017. 2. 23. 14:27
반응형

녕하세요! 리듬입니다.


이번 글에서는 배열에 대해 배워볼게요!


배열이 무엇일까요!


배열은 변수들의 집합이에요. 


같은 데이터 타입을 가진 변수들이에요.


int형 배열을 선언했으면 int형 변수들을 모아놓은거죠.


배열은 같은 데이터 타입을 가진 변수들이 여러개 필요할때 사용해요.


만약에 int형 변수를 30개가 필요하다~라고 한다면


int a1, a2, a3, a4, ..., a10, a50;


이런식이겠죠? 너무 많아요...


이럴때 배열을 써봅시다. 어떻게 되느냐!


int a[50];


위처럼 사용합니다!


코드 길이가 엄청 짧아졌죠? 그래서 가독성도 좋아지죠!


배열이름이 a 인 int 자료형에 50개의 값을 넣을 수 있는거에요.


[50]에서 대괄호 안에 들어가는 값을 index 인덱스라고 하는데요.


각 배열 인덱스 값은 0부터 시작해요.


그래서 인덱스 0부터 49까지 50개를 넣을 수 있습니다.


int a[5]={10,20,30,40,50};


이런식으로도 선언하는데요!


저 값들이 각 인덱스에 들어있는거에요. 순서대로!


인덱스 0부터 시작한다고 했죠? 그러니까 a[0]에는 10이 들어있는거구요.


a[1]에는 20 이렇게 순서대로 들어가있는거에요.


예를 보여드릴게요!





저희가 배웠던 for문도 같이 써봤습니다. 기억들 나시죠?!


보시면 i는 0부터 증가하구요. a[i]에 a[0]부터 a[4]까지 들어갈거에요.


아까 말했듯이 인덱스는 0부터입니다. 그래서 a[0]을 출력했을 때


10이 출력이 되는거에요. 아시겠죠!


다른 예를 보여드릴게요~




위 예는 각 배열 인덱스에 입력받는거에요.


for문이 반복되면서 a[0]부터 a[4]까지 값을 입력받는거죠!


밑에 코드는 이제 다들 아시지요?


그리고 예가 또 있습니다.





문자열인데요! 엄청 간단해보이네요.


위와 같이 사용합니다.


char 자료형에는 문자 하나에 작은따옴표로 감싸서 변수에 넣어주는데요.


char a='a';


이런식으로요!


문자열을 넣고 싶을땐 배열을 선언해주면 됩니다.


문자 5개를 넣고 싶으면 배열 6개가 필요합니다.




왜냐하면 위 그림처럼 맨 끝에는 널문자가 들어가요.


널문자는 "끝"을 의미합니다.


만약 배열 array[20]을 선언했는데


tistory라는 문자열만 넣었어요. 그러면 문자열의 끝은 y가 되어야 하는데


array[19]가 될 수 있죠. 컴파일러가 그렇게 생각할 수 있다는거에요.


그래서 문자열 마지막에는 널문자가 들어갑니다.




이렇게 해서 배열에 대해 알아보았습니다.


이번 글에서 배운 배열은 1차원 배열이었어요.


다음 글은 2차원 배열입니다.


제가 글을 쓰고서 쓴 글을 보면 참 설명 못하는거 같네요..  :(


점점 개념들이 설명하기 어려워져서 그런지...............!


시간이 많이 걸리더라도 정확하게 써야할 것 같습니다!


다음 글에서 뵈요!


수고하셨습니다!


:)















반응형