문자배열

  • char 형 문자를 여러 개 모아놓은 문자 집합
    • 문자 : 작은 따옴표 ’ ’
    • 문자열 : 큰 따옴표 ” ”
    • ‘\0’ (NULL) : 문자열 끝에 항상 문자코드 ‘\0’을 덧붙여야 함
char str[5] = {'A', 'B', 'C', 'D', '\0'}; // 옳은 선언
char str[4] = {'A', 'B', 'C', 'D'} // 잘못된 선언
char str[] = "ABCD"; // 옳은 선언 
char str[5]; // 옳은 선언 
str[0] = 'A'; 
str[1] = 'B'; 
...
str[4] = '\0';

이러한 특징 때문에 배열의 크기는 실제 문자열의 크기 + 1 로 선언해야 함

반복문에서 문자열의 종료 조건

for (i = 0; str[i]; i++)
    printf("%c\n", str[i]);
 
while(str[i])
    ... ... 
  • 문자열 끝에 제어 문자 NULL이 있기에 가능함

문자와 문자열의 차이

  • \0이 추가된 형태로 존재함

배열과 주소

메모리가 할당된 변수에 접근하는 방법

  1. 변수명으로 접근
  2. 변수의 주소값으로 접근 : 변수 앞 &를 붙임

scanf

int a;
scanf("%d", &a);
  1. a라는 변수를 선언해라. 자료형은 int로
  2. 10을 입력했다면 a라는 변수를 선언한 주소에 넣어라

배열과 주소와의 관계

  • 배열은 동일한 자료형을 동시에 선언하는 것
  • 메모리에 배열의 원소 개수만큼의 공간이 동시에 할당됨

배열명으로 주소를 표시하는 방법