본문 바로가기

C언어

C언어 배열

반응형

이번 시간은 배열에 대해서 공부할 것이다.

 

배열? 이미 알고있는데 왜 또 쓰냐면

 

이게 굉장히 중요하다. 배열 자체가 그냥 넘사벽으로 엄청 중요함!!!

 

한번 더 아는것도 나쁘지 않다.

 

 

우선은 여기서 순서를 알기위해 index 변수를 넣었다.

 

C언어에서는 #define NUMBER 숫자 이런식으로 배열을 마니 한다고 한다.. (동빈나님이 그러심)

 

즉 여기서는 0부터 4번지까지 있다는 소리고

 

최댓값을 찾기 위해 max < array[i]를 했다.

 

이게 무슨 말이냐면 내가 30 34 72 35 90을 썼다고 치면

 

하나씩 비교를 처음에 for문 돌면서 해야할 것이다.

 

처음 max는 0이니까 30이 더 크므로 array[0]의 값이 max에 들어가고

 

또 index는 순서를 또 알아야 하니까 0이 들어간다. 

 

이거를 계속 반복하다보면 max값 30 과 34 비교 , 72 비교 , 35 비교 , 90 비교해서

 

90이 결국 제일 큰 수이고 i 4가 index에 들어간다.

 

index 출력할때는 배열 번지가 아닌 원래 몇 번째 수로 나타내야 하므로 index + 1을 하는 것이다.

 

 

이제 최소값을 나타내야 하는데,

 

그 전에 #include <limits.h> 를 하고

 

 

min = INT_MAX; 를 넣어야 한다.

 

강의에서는 INT_MAX가 20억 정도의 숫자라고 하신다.

 

그리고 다시 비교를 한다. 이렇게

 

min이 엄청 큰 값이므로 조건이 실행된다.

 

그러면 array[0]이 min에 들어가고 i는 0이된다.

 

여기서는 30이니까 30이 min에 들어가서 계속 비교를 하는거다. if문으로

 

근데? 보니까 30이 제일 적으니 1번째에 있다고 뜰것이다.

 

정확하다!!

 

다음은 5개 정수에서 짝수, 홀수 최댓값 구하는 거를 할것이다.

 

 

 

odd는 알다시피 홀수, even은 짝수이다.

 

oddMax는 홀수의 max값을 받으려고 선언한 변수이다.

 

evenMax는 짝수의 max!

 

즉 배열 크기 5를 선언해서 

 

배열에 들어있는 값이 2로 나눴을때 0이면 

 

짝수이므로 evenMax에 저장된다. (이것도 계속 비교해서 제일 큰 값 찾는다.)

 

 

 

홀수는

else 구문으로 써서 처리해준다.

 

그럼 결과가

 

 

이런 식으로 나온다!

 

배열 끝!!

반응형

'C언어' 카테고리의 다른 글

C언어 구조체  (0) 2022.07.18
C언어 문자열  (0) 2022.07.18
C언어 포인터  (0) 2022.07.18
C언어 다차원 배열  (0) 2022.07.18
C언어 반복함수와 재귀함수  (0) 2022.07.18