본문 바로가기

C

[C언어] 배열(Array) 및 자료 구조(Data Structure)

반응형

배열(Array)

- 동질의 자료형을 하나의 이름으로 묶어서 관리하는 자료구조이다.

- 기억장소의 낭비를 최소화한다.

  int a, b, c (12byte)를 int x[] (4byte)로 묶어서 저장한다.

- 데이터의 접근 속도를 상승시킨다.

- 각각의 위치는 배열의 index로 관리한다.

- 유사 문구를 만들어내 반복문에 사용이 가능하다.

자료구조(Data Structure)

- 기억장소의 낭비를 줄이고 자료를 효율적으로 처리할 수 있다.

- 변수(Variable) : 하나의 데이터를 담아서 관리하는 자료구조이다.

- 배열

- 구조체 : 서로 다른 자료형을 하나의 이름으로 묶거나 연관된 데이터를 하나의 형태(객체)로 묶어서 관리하는 자료구조이다.

- 클래스

 

#include<stdio.h>

int main(){

   int x = 10, y = 20, z = 30;    // 4byte * 3 = 12
   int array[3] = {10, 20, 30};   // 배열의 크기([])는 상수로만 나타낼 수 있다.
   char a;
   float b;
   double c;

   printf("char  타입의 실제 기억공간 크기 : %d\n", sizeof(a));
   printf("flaot 타입의 실제 기억공간 크기 : %d\n", sizeof(b));
   printf("double  타입의 실제 기억공간 크기 : %d\n", sizeof(c));
   printf("array 타입의 실제 기억공간 크기 : %d\n\n", sizeof(array));

   printf("\n");

   printf("x변수의 주소 = %d\n", &x);   // x, y, z는 연속된 공간에 저장되지 않는다.
   printf("y변수의 주소 = %d\n", &y);
   printf("z변수의 주소 = %d\n", &z);

   printf("\n");

   printf("array[0] 변수의 주소 : %d\n", &array[0]);   // 배열 array는 연속된 공간에 저장된다.
   printf("array[1] 변수의 주소 : %d\n", &array[1]);
   printf("array[2] 변수의 주소 : %d\n", &array[2]);

   printf("\n");

   for(int i = 0; i <= 2; i++)
      printf("array[%d] = %d\n", i, array[i]);

   return 0;
}

 

반응형