// 포인터배열_배수의합.c
#include <stdio.h>
void main(void)
{
int data[] = {3, 2, 1, 4, 5};
int sum = 0;
int *p;
int i;
p = data; // 배열의 시작 주소를 포인터에 기록
// 데이터를 반복 : 포인터 변수를 통해서 반복
for (i = 0; i < sizeof(data)/sizeof(int); i++)
{
if (*(p + i) % 2 == 0)
{
sum += *(p + i);
}
}
printf("짝수의 합 : %d\n", sum);
}
/*
sizeof(data) / sizeof(int) 표현법 간단 설명:
우리 눈으로 봤을 때
data 배열의 요소가 정수형(int) 5개입니다.
이를 수식으로 표현하려면,
sizeof(data) : 데이터의 전체 길이 : 여기서는 5개 * int(4byte라 가정) : 20입니다.
sizeof(int) : 정수형 데이터 하나의 길이(4byte라 가정) : 4
즉, sizeof(data) / sizeof(int) = 20 / 4 = 5개입니다.
최근 프로그래밍언어는
배열의 요소수를 표현할 때 배열이름.Length와 같은 명령어를 제공하는데,
40년전에 만들어진 C언어는 이러한 명령어가 없어서
데이터의 크기를 가지고 요소수를 비교합니다.
*/