본문 바로가기
프로그래밍

[C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 2편]

by 스텔라게이트 2023. 4. 8.

[C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 2편]

[C언어 배열] C배열 기초, 다차원, 2차원 배열
[C언어 배열] C배열 기초, 다차원, 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};

이렇게 선언했다고 하면 어떻게 저장이 될까요? 

그 결과는 아래와 같습니다.

C배열의 초기화 예시1
C배열의 초기화 예시1

중요한점은 값이 정해지지 않았다면 무조건 0의 값이 들어가게 됩니다.

반응형

자 위와 같이 배열의 크기를 지정하지 않고 초기화 값만 주었을 때는 어떻게 될까요?! 

컴퓨터는 알아서 초기화 값에 지정된 4가지 값을 읽고 c 배열의 크기를 4로 지정하게 됩니다.

그래서 c[3] 이 되어 4의 크기를 가진 값이 저장됩니다. 

 

C배열 사이의 연산

C배열을 이용 a,b,c, 함수에 대한 계산을 해봅시다. 

C배열 사이의 연산
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배열 기타 사항

이상 [C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 2편]에 대한 내용이였습니다. 

읽어주셔서 감사합니다.

C배열 기초에 대해서는 아래 링크 참조 부탁드립니다.

2023.04.08 - [프로그래밍] - [C언어 배열] C배열 기초, 다차원, 2차원 배열 [예시와 설명 1편]

반응형

댓글