[C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 2편]
C언어 배열을 활용해봅시다.
- C배열에 값 저장하기
- C배열의 초기화
- C배열 사이의 연산
- C배열 기타
C배열에 값 저장하는 방법에 대해 알아보겠습니다.
C배열 값 저장하기
a[0] 에 10, 1에 20 이런식으로 진행하려면 for문의 i를 이용하여 식을 만드는 것이 좋습니다.
하여 위와 같이 a[i] = (i+1) * 10 이라는 식으로 프로그래밍을 사용합니다.
C배열 값 저장 예시
만약 위와 같이 저장해야 한다면 어떻게 해야 할까요?
이전과 같이 i로 프로그래밍 해 봅시다.
for(a=0;a<5;a++) 에서 a[i] =
생각해 보셨나요?
아쉽지만 반복문을 통해 저장할 수 있는 패턴이 없습니다.
하지만, 처음은 한 번은 한꺼번에 저장이 가능합니다.
C배열의 초기화
그것이 바로 배열의 초기화 인데요.
처음 한 번은 한꺼번에 저장 하는 것 입니다.
int 0~4까지 사용하는데 순서대로 2,5,4,3,0을 넣어라고 간단히 명명할 수 있습니다.
- int a[5];
- a[0] = 2;
- a[1] = 5;
- a[2] = 4;
- a[3] = 3;
- a[4] = 0;
과 같이 적어줄 필요없이 한줄로 모두 선언하는 방법인 것이죠
- int a[5] = {2, 5, 4, 3, 0};
이라고 선언하는 것 입니다.
C배열의 초기화 예시1
- int a[5] = {5, 6};
이렇게 선언했다고 하면 어떻게 저장이 될까요?
그 결과는 아래와 같습니다.
중요한점은 값이 정해지지 않았다면 무조건 0의 값이 들어가게 됩니다.
자 위와 같이 배열의 크기를 지정하지 않고 초기화 값만 주었을 때는 어떻게 될까요?!
컴퓨터는 알아서 초기화 값에 지정된 4가지 값을 읽고 c 배열의 크기를 4로 지정하게 됩니다.
그래서 c[3] 이 되어 4의 크기를 가진 값이 저장됩니다.
C배열 사이의 연산
C배열을 이용 a,b,c, 함수에 대한 계산을 해봅시다.
자 C배열을 이용해 처음 초기화 값이 지정되었다면 for문을 사용해 b의 값이 처음 초기화 값인 a[] 값들의 *2 배라는 식이 되겠습니다. 그리고 또 c의 값은 a와 b를 이용하여 값을 지정하는 프로그램입니다.
c의 값 또한 동일한 for문을 이용해서 (i=0;i<5;i++) 저장되므로 아래와 같이 한번에 작성하여 동일한 값을 도출해 낼 수 있습니다. 단, c의 값의 크기가 다르거나 다른 방식을 사용할 경우는 다른 방식을 써야 겠지요
c배열 사이의 연산 예시
#include <stdio.h>
int main(void) {
int a[5] = {2,5,4,3,0};
int b[5], c[5];
int i;
for(i=0;i<5;i++)
{
b[i] = a[i] * 2;
c[i] = a[i] + b[i];
}
for(i=0;i<5;i++)
{
printf("%d \n", c[i]);
}
}
c[0] = a[0] + b[0] 이므로 c[0] = 2 + 4, c[1] = 5 + 10 이런식으로 진행 됨을 알 수 있습니다.
만약 아래 그림과 같이 int d[5]로 선언 했으며 첨자는 0부터4까지 이지만 d[5]값을 입력하게 되면
2번째 아래 그림과 같이 error 메세지를 받을 수 있습니다.
즉, 다시말해 첨자는 0부터 시작하며 크기가 n이라면 n-1 범위까지 지정된 다는 것 입니다.
추가 C배열 기타 사항
위에서는 int형, 정수형만 예시를 들어 해 봤는데요.
정수형 뿐만아니라 실수형, 문자형 모두 배열에 사용이 가능합니다.
- double c[10]; 실수형 c[0]~ c[9] 까지
- char d[20]; 문자형 d[0]~d[19] 까지
이상 [C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 2편]에 대한 내용이였습니다.
읽어주셔서 감사합니다.
C배열 기초에 대해서는 아래 링크 참조 부탁드립니다.
2023.04.08 - [프로그래밍] - [C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 1편]
'프로그래밍' 카테고리의 다른 글
[C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 3편] (0) | 2023.04.08 |
---|---|
[C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 1편] (0) | 2023.04.08 |
[C 형변환] C형변환 과 형변환 연산자, 형변환 계산 [쉬운 예시와 설명] (0) | 2023.04.06 |
[C 문자형] 문자형, 아스키코드 연산, 문자계산, sizeof연산자 (0) | 2023.03.25 |
[자료형 형변환] 실수형과 실수형의 변환 명세 [쉬운 설명과 예시] (0) | 2023.03.25 |
댓글