jam 블로그

[C] 11. 1차원 배열 본문

개발 및 관련 자료/C

[C] 11. 1차원 배열

kid1412 2013. 5. 12. 19:21
728x90

I. 1차원 배열의 선언 및 초기화

1) 1차원 배열의 선언과 접근

  • 배열 선언에 필요한 것 세가지

    int array[10];
    
  • 배열 길이 10 인 array라는 이름의 int형 배열 이라는 뜻
  • 배열길이, 배열이름, 배열 형태
  • 참고로 위에 배열은 메모리에 할당되는 크기는 int형(4바이트)*배열크기(10) = 40바이트이다.
  • 배열의 길이 선언은 오직 상수

    int main()
    {
        int size =10;
        int arr[size];
    }
    
    • 위와 같은 소스일 경우 arr의 사이즈가 size 변수로 해놓았기 때문에 컴파일시 오류가 납니다.
  • 배열 요소의 접근을 위한 인덱스의 이해

    • 배열의 첫번째 요소의 인덱스는 0이다. 즉, arr[0]이 처음이다.
  • 2) 배열! 선언과 동시에 초기화하기기

    int arr1[5] = {1,2,3,4,5};
    int arr2[] = {1,2,3,4,5};
    int arr3[5] = {1,2};
    
    • 첫번째 줄의 arr1은 배열을 1,2,3,4,5로 초기화 시킨거고(단, 크기가 5라고 정해졌다.)
    • 두번째 줄의 arr2는 배열 크기는 없지만 초기화를 해줌으로써 크기가 정해진다.
    • 세번째 줄의 arr3는 배열 크기가 5이지만 초기화를 1,2만 해주면 나머지는 0으로 초기화 된다.

    II. 배열을 이용한 문자열 변수의 표현

    1. 문자열 상수와 문자열 변수

      1. 문자열 상수

        1. 첫째로 이름이 없다.
        2. 문자열의 내용 변경이 불가능 하다.
      2. 문자열 변수

        1. 문자열을 변수로 선언하는데 있어서 사용 되는 것이 배열
    2. 문자열 변수의 특징과 널 문자에 대한 이해

      1. 배열을 이용한 문자열 변수의 생성

        1. 문자열 변수를 생성할 때는 배열의 크기는 하나 크기 잡아야 한다.
          이유 : 마지막에 이 문자열이 끝났다는 널문자를 넣어주어야 하기 때문에
      2. 널 문자에 대한 이해

        1. 만약 크기가 100인 char형 배열이 있는데 문자열을 저장할 때 너가 25자 정도만 되는 문장 또는 글자를 넣는다고 하자. 그리고 나서 출력 하면 어느정도는 잘나오지만 25자를 쓴 글자 뒤로 쓰레기 값이 엄청나게 나올 것이다.
        2. 그래서 25자를 쓴다음 끝에 \0 을 넣으면 \0(NULL)문자까지만 읽고 끝나 버린다.
    Comments