반응형
배열 indexing 프로그래밍
C 언어에서 배열을 사용할 때 index를 활용하면 좋다.
예제로 int형 배열에서 최대 값을 찾는다고 하자.
int arData[10] = { 124, 21, 323, 45, 5223, 684, 734, 823, 922, 130 };
int nSum = 0;
for (int i = 0; i < 10; i++) {
if (nSum < arData[i])
nSum = arData[i];
}
위의 코드처럼 int형 변수를 하나 선언해서 여기에 배열 요소 하나하나 비교해서 큰 값을 저장하고 마지막에 가장 큰 값을 출력하고 있다.
물론 정수 비교이기 이렇게 해도 상관없다. 하지만 이게 다른 type의 변수를 사용한다면 문제가 생기기 시작한다.
그래서 배열의 값을 저장하는 것이 아닌 큰 값을 가진 index를 저장하는 방식을 사용하자.
int arData[10] = { 124, 21, 323, 45, 5223, 684, 734, 823, 922, 130 };
int nSumIdx = 0;
for (int i = 0; i < 10; i++) {
if (arData[nSumIdx] < arData[i])
nSumIdx = i;
}
printf("%d \n", arData[nSumIdx]);
이런 식으로 index를 활용해서 코딩을 해보자
반응형
'C' 카테고리의 다른 글
[C/C++][함수]반환형 (0) | 2018.01.08 |
---|---|
[C][2차원배열]달팽이 배열 (0) | 2018.01.02 |
[C][2차원 배열]홀수 마방진 (0) | 2018.01.02 |
[C][2차원배열] 지그재그 초기화 (0) | 2018.01.01 |
[C][배열] Index 변수 (0) | 2018.01.01 |