[혼공C] 5주차

JISO.O·2022년 8월 12일
0

혼공학습단

목록 보기
5/19
post-thumbnail

혼공C 5주차 미션!


😀기본미션

직접 정리한 키워드 공유하기

배열이란?

  • 같은 형태의 많은 데이터를 반복문으로 처리하기 위해서 메모리에 연속적으로 저장해놓고 쪼개서 사용하는 방법을 배열이라고 합니다.
    예를 들어 과목을 변수로 선언한다면 kor, eng, math, science, social 등으로 변수를 선언해야 하는데 배열을 사용하면 위의 것들을 연속적으로 저장하여 편리하게 사용할 수 있다.

배열의 선언

  • 배열은 자료형 배열명[요소 개수]; 로 선언한다.
    int ary[5]는 int형 변수 5개를 선언한 것이므로 20바이트의 연속된 메모리가 할당된다.

배열의 사용

  • 배열을 선언할 때와 배열 요소를 사용할 때 [ ]안의 숫자는 의미가 다르다. 선언할 때는 배열 요소의 전체 개수를 표시하고, 사용할 때는 각 요소가 배열에서 몇 번째에 있는지를 의미한다. 배열에 값을 저장하지 않으면 쓰레기 값이 출력된다. 배열의 첨자가 사용 범위를 벗어나서도 안된다.

배열 초기화

  1. 기본적인 초기화 방법
    int ary1[5] = {1,2,3,4,5};
  2. 초깃값이 배열 요소의 개수보다 적은 경우
    int ary2[5] = {1,2,3};
    이 경우, 남은 배열 요소는 0으로 채운다.
  3. 자동 초기화 기능
    int ary2[1000] = {0};
  4. 배열 요소가 생략된 형태
    int ary3[] = {1,2,3};
    이 경우, 컴파일러가 초깃값 개수만큼 배열 요소 개수를 정하고 저장 공간을 할당하고 초기화한다.
  5. 다른 타입
    double ary4[3] = {1.2, 2.3, 3.4};
    char ary5[3] = {'f', 'l', 'y'};

배열과 반복문

  • 배열을 효과적으로 쓰기 위해 반복문을 쓴다.
    int score[5];                                        for(i = 0; i < 5; i++)
    scanf("%d", &score[0]);                         {
    scanf("%d", &score[1]);                               scanf("%d", score[i]);
    scanf("%d", &score[2]);        =====>     }
    scanf("%d", &score[3]);
    scanf("%d", &score[4]);

sizeof 연산자

  • int score[5]
    sizeof(score)은 20byte이다.
    sizeof(score) / sizeof(score[0])은 20 / 4로 5이다.
    이렇게 sizeof는 배열 요소의 개수를 계산할 때 쓰인다.

char형 배열의 선언과 초기화

  • char형 배열을 선언할 때는 반드시 저장할 문자열의 길이보다 최소한 하나 이상 크게 배열을 선언해야 한다.
    이렇게 여분의 공간이 필요한 이유는 널 문자(\0)를 저장하기 위해서이다.

문자열 대입

  • char형 배열이 문자열을 저장하는 변수의 역할을 하므로 초기화된 이후에도 얼마든지 새로운 문자열을 저장할 수 있다. 단, 문자열의 길이가 다를 수 있으므로 일반 변수처럼 대입 연산자를 사용하는 것은 불가하다. 이때 strcpy 함수를 사용한다. strcpy 함수는 char형 배열에 새로운 문장려을 저장하는 함수로, 저장할 문자열의 길이를 파악하여 딱 그 길이만큼만 char형 배열에 복사한다. 문자열 끝에 널 문자도 자동으로 붙여준다.
    char str1[100];
    strcpy(str1, "hello");           // str1에 hello가 복사됨

문자열 전용 입출력 함수 : gets, puts

char str[80];
gets(str);
puts(str);
위의 코드가 출력이 될 때 gets는 scanf, puts는 printf와 비슷한 역할을 한다.


😎추가 미션

널 문자의 정의, 용도와 표기법 공유하기

  • 널 문자 : 0인 문자를 널 문자라고 한다. \0
    만약 배열 요소의 개수보다 실제 값의 개수가 적다면 나머지 배열 요소는 쓰레기 값으로 출력이 된다. 이 때 마지막 값에 널 문자를 넣는다면 쓰레기 값은 출력되지 않는다.


널 문자를 넣지 않았을 때 쓰레기 값이 출력된다.

널 문자를 넣었을 때는 의도한대로 문자가 출력된다.

널 문자의 표기법은 \0이며 \0으로도 표기된다.

profile
미림마이스터고등학교에서 개발을 공부중인 학생입니다!

0개의 댓글