[열혈C프로그래밍] chapter 10. 1차원 배열

chapter 10

1차원 배열

10-1 배열의 이해 & 배열의 선언 & 초기화

  1. 배열이란?
    가장 많이 쓰이는 자료구조 중 하나
    int arr[100]; // 길이가 100인 int형 1차원 배열: 정수 100개 저장 가능.
    // sizeof(arr) = 100*4 =400 byte
    
  2. 배열의 선언의 필요 요소
    1. 배열을 이루는 요소의 자료형 (int)
    2. 배열의 이름 (arr)
    3. 배열의 길이 ([100]): 나란히 메모리 공간에 할당된다.

10-2 배열을 이용한 문자열 변수의 표현

|G|o|o|d| |m|o|r|n|i|n|g|!|\0| |-|-|-|-|-|-|-|-|-|-|-|-|-|–|

``` scanf함수는 데이터를 구분하는 기준이 공백이라
입력을 He is my friend 라 할 때 He 만 인식하여 He만 저장한다.
=> 따라서 ‘He is my friend’를 입력받는 더 적절한 함수는 나중에 알아보기로 하자.

문자열의 끝에 null문자가 필요한 이유

본래 문자열은 이진 데이터로 저장 되기 때문에 문자열의 끝을 알수 없다.
(문자열의 시작 부분은 배열의 처음 부분(str[0])으로 구분할 수 있다.)
따라서 문자열을 구분하기 위해 끝을 나타내는 기준이 필요한데
지금 c언어에서는 null문자(\0)가 그 기준이 되고 있는 것이다.