반응형

오늘은 C언어 프로그래밍에서 연속적인 자료형을 사용하는 방법에 대해서 알아보겠습니다.

C언어에서는 기본적으로 자료형을 사용할 경우 하나씩 선언해야 합니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{

	int class1 = 0;
	int class2 = 1;
	int class3 = 2;
	int class4 = 3;
	int class5 = 4;


	printf("\t class1 = %d입니다.\n", class1);
	printf("\n");
	printf("\t class2 = %d입니다.\n", class2);
	printf("\n");
	printf("\t class3 = %d입니다.\n", class3);
	printf("\n");
	printf("\t class4 = %d입니다.\n", class4);
	printf("\n");
	printf("\t class5 = %d입니다.\n", class5);
	printf("\n");

}

5개의 class 변수를 사용하기 위해서는 5번 자료형을 선언합니다.

출력도 동일하게 5번 함수를 사용해야 합니다.

자료형을 여러번 선언하게 되면 관리하기가 매우 힘들어지고 코드도 복잡하고 길어지게 됩니다.

수정을 할 경우 더욱더 힘들어지겠죠.

이런 문제를 해결하기 위해서 C언어에서는 배열이라는 자료형을 사용합니다.


배열 자료형은 어떤 자료형이라도 선언이 가능합니다.

선언 방법은 매우 간단합니다. 자료형 뒤에 '[개수]'로 정의하면 됩니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{

	int array1[10] = { 1,2,3,4,5,6,7,8,9,10 };

	for (int i = 0; i < 10; i++)
	{
		printf("\t %d 배열은 %d입니다.\n", i+1, array1[i]);
		printf("\n");
	}	
	return 0;
}

int 자료형 10개를 배열로 선언했습니다.

배열로 선언할 경우 초기화를 하기 위해서 선언부 뒤에 개수만큼 초기화해주세요.

초기화 값이 없을 경우는 0으로 초기화됩니다.

for 반복문을 사용해서 10개의 배열을 출력할 수 있습니다.

배열을 사용하면 이렇게 간단하게 코딩을 할 수 있습니다.

 

 

 

배열을 선언하게 되면 순차적으로 자료형 크기만큼 메모리에 연결됩니다.

배열 설정 값을 확인하기 위해서는 0번 주소부터 접근을 해야 합니다.

이유는 배열은 주소 번지로 위치를 찾기 때문에 주소가 앞쪽에 있습니다.

간단하게 자료형 앞쪽 주소부터 확인한다고 생각하시면 됩니다.

그럼 이번에는 배열 주소를 함께 확인해보겠습니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{

	int array1[10] = { 1,2,3,4,5,6,7,8,9,10};

	for (int i = 0; i < 10; i++)
	{
		printf("\t %d 배열 주소는 %p이고 값은 %d입니다.\n", i+1, array1[i], array1[i]);
		printf("\n");
	}	
	return 0;
}

"%p"를 사용해서 주소를 출력할 수 있습니다.

배열 주소가 순차적으로 출력되는 것을 알 수 있습니다.

배열은 다양한 구조로 사용이 가능합니다.


열과행을 별도 선언하게되면  다차원 배열을 생성할 수 있습니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{

	int array1[10][2];

	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 2; j++)
		{
			array1[i][j] = i + (j * 10);
		}
	}



	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			printf("\t %d",array1[j][i]);
		}
		printf("\n");
	}
	
		
	return 0;
}

자료형 [행][열]로 자료형을 선언하면 배열이 다중 배열로 변경됩니다.

다중배열은 for반복문을 사용해서 초기화해줍니다.

출력도 동일하게 for반복문을 사용합니다.

출력 결과 2행 10열로 정상적으로 출력되었습니다.

대중 배열은 행 개수가 증가하게 되면 계산이 점점 복잡해집니다.

대부분 2중 배열 정도를 많이 사용합니다.

 

 

 


for반복문 초기화가 힘들다면 바로 초기화도 가능합니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{

	int array1[3][3] = {
		{1,2,3},
		{4,5,6},
		{7,8,9} 
	};

	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			printf("\t %d", array1[i][j]);
		}
		printf("\n");
	}		
		
	return 0;
}

바로 초기화하기 위해서는 "{행 초기화}"를 사용해서 한 행씩 초기화하면 됩니다.

출력 결과도 3행 3열로 확인됩니다.

배열은 C언어 프로그래밍에서 매우 중요한 내용입니다.

다양한 배열을 사용해서 프로그래밍해보세요.

감사합니다.

반응형

+ Recent posts