반응형
SMALL

학습목표

1. 배열의 개념을 이해할 수 있다.

2. 배열 선언과 초기화, 배열 요소의 참조 방법을 이해할 수 있다.

3. 포인터의 주소 개념을 이해할 수 있다.

4. 포인터 선언과 연산자 사용을 이해할 수 있다.

5. 포인터와 배열의 관계를 이해할 수 있다

 

주요용어

배열, 포인터, 주소, address, 배열요소참조, 참조, reference

 

 

6.1 배열

- 동일한 자료형을 갖는 자료들의 리스트

- 배열의 각 요소는 하나의 변수로 취급

- 배열은 배열명과 첨자로 구분

 

** 배열의 선언 형태

- 1차원 배열

- 2차원 배열

- 3차원 배열

 

6.1.1 1차원 배열

- 배열의 첨자가 하나만 있는 배열    a [ b ]

- 첨자의 개수는 배열 전체의 구성요소의 개수를 의미

- 배열의 각 요소는 배열명과 첨자로 구분

  > 첨자는 0 부터 시작

- 배열의 각 요소는 배열명과 첨자로 구분

  > 자료형과 기억 클래스는 갖는다.

 

(1) 배열 선언

1차원 배열이란 배열의 첨자가 하나만 있는 것을 말한다.

첨자 안에 표현된 개수는 배열의 크기를 나타내는 것으로 배열 전체 구성 요소의 개수를 나타낸다.

요소의 개수는 정수여야 하며, 상수나 문자 상수 그리고 결과가 정수인 수식이 사용될 수 있다.

>> 배열의 각 요소는 배열명과 첨자로 구분되며, 첨자는 0부터 시작된다. 

배열의 각 요소는 일반 변수와 같이 취급되므로 자료형과 함께 기억 클래스도 갖게 된다.

1차원 배열 선언

- 형식 : 자료형 배열명[개수]

- 사용예 : int a[10]

- 의미 : 1차원 배열로서, 배열명은 a 이고 
           배열의 크기는 10 이며, 정수값이 기억됨

 

(2) 배열의 초기화

> 배열을 선언하면 기억공간을 초기화 해야함

1)  배열 선언 후 초기값 할당

int array[4];          >>>            반드시 배열의 크기를 지정
     array[0] = 10;
     array[1] = 20;
     array[2] = 30;
     array[3] = 40;
2) 배열 선언과 동시에 초기값 할당

int array[4] = { 10. 20. 30, 40 };      >> 배열의 각 요소에 초기값 할당
int array[  ] = { 10. 20. 30, 40 };      >> 배열의 크기 생량 가능
int array[4] = { 10. 20. 30,  };         >>  array [ 3] = 0 으로 초기화
int array[4] = { 10. . 30, 40 };         >> 에러 발생
int array[4] = { 10. 20. 30, 40, 50 }; >> 초기값이 많으면 에러
3) 외부로부터 자료를 입력 받아 초기화

int x [ 10 ] ;
    for ( i = 0 ; i < 10; , i++ )
    {
       scanf("%d", &x[ i ]); >> scanf() 함수를 이용하여 키보드를 통해 자료를 입력 받음
     }

//1차원 배열의 선언

#include <stdio.h>
void main(){
   int array1[4] = { 10, 20, 30, 40};
   int array2[ ] = { 10, 20, 30, 40};
   int array3[4] = { 10, 20 };
   int array4[4] = { 0};
   int i;

      for(i=0; i <=3; i++) 
         printf("array1[%d] = %d \t", i, array1[i]); 
      printf("\n"); 
      for(i=0; i <=3; i++) 
         printf("array2[%d] = %d \t", i, array2[i]); 
      printf("\n"); 
      for(i=0; i <=3; i++) 
         printf("array3[%d] = %d \t", i, array3[i]); 
      printf("\n"); 
      for(i=0; i <=3; i++) 
         printf("array4[%d] = %d \t", i, array4[i]); 
      printf("\n");    }

반응형
LIST

+ Recent posts