혼자 공부하는 C언어(개정판) 5주차

2023. 8. 10. 06:22C언어/혼공학습단 10기

728x90

혼공단 - 혼공C, 혼자 공부하는 C언어 개정판

 

# 진도 기본 미션 선택 미션
여름 방학
(7/31 ~ 8/6)

🏄‍♂️ 이얏호~! 한 주 쉬어갑니다 🏊‍♀️ 즐거운 여름 방학이얏호~! 🏄‍♀️ 한 주 쉬어갑니다 🏊‍♂️

5주차
(8/7 ~ 8/13)
Chapter 08 배열의 개념 정리하고 공유하기 널 문자의 정의, 용도와 표기법 공유하기

 

■ 이얏호-! 즐거운 여름 방학

: 여름 방학 즐겁게 보내고 돌아왔습니다.

 

 

■ 기본 미션

: 배열의 개념 정리하고 공유하기

  → 각 Chapter의 '학습목표'를 바탕으로 내용을 정리했습니다.

 


□ Chapter 08

많은 양의 데이터를 메모리에 저장하는 배열 생성 방법
 - 배열(array): 같은 형태의 많은 데이터를 반복문으로 처리하기 위해서 메모리에 연속적으로 저장해 놓고 쪼개서 사용하는 방법
 - 배열 선언: 어떤 이름을 가지고 어떤 형태의 변수가 몇 개인지를 컴파일러에 알리는 것

   . 요소의 자료형에 이름을 붙이고 필요한 요소의 개수를 표시 ( int형의 요소가 5개인 배열을 선언: int ary[5]; )

구분 사용 예 기능
배열 선언 int ary[5]; int형 변수 5개를 한 번에 확보


배열을 사용하는 방법과 배열이 문자열을 저장하는 방법
 - 배열의 사용: 대괄호([])속 숫자는 각 요소가 배열에서 몇 번째에 있는지를 의미하는 첨자
   . 첫 번째 배열 요소에 10 대입: ary[0] = 10; ( 배열의 첨자가 사용 범위를 벗어나지 않도록 주의 )

구분 사용 예 기능
요소 사용 ary[0], ary[1], ary[2], ary[3], ary[4] 배열 요소를 사용할 때는 첨자를 0부터 시작해 '요소 개수-1'까지 사용
초기화 int ary[5] = { 1, 2, 3, 4, 5 } 초기화는 중괄호 안에 값을 나열

 - 문자열을 저장하는 방법

구분 사용 예 기능
char형 배열 초기화 char str[80] = "apple"; char형 배열은 문자열로 초기화
문자열에 끝에는 널 문자 존재
문자열 대입 char str[80];
strcpy(str, "apple");
문자열 대입은 strcpy 함수를 사용
str 배열에 문자열 "apple" 저장
문자열 입출력 char str[80];
scanf("%s", str);
gets(str);
printf("%s", str);
puts(str);

scanf 함수는 하나의 단어만 입력
gets 함수는 한 줄 입력
printf 함수는 문자열 출력
puts 함수는 문자열 출력 후 줄 바꿈

    

■ 선택 미션

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

 

□ 널 문자의 정의

- 널 문자(null character): char형 배열에 저장된 0

  . 초기화한 문자는 배열의 처음부터 차례로 저장되어 문자열을 만드는데, 이때 남는 배열 요소에는 자동으로 0이 채워짐

 

□ 널 문자의 용도와 표기법

- 널 문자의 용도: 문자열의 끝을 표시

  . printf 함수를 비롯한 많은 문자열 처리 함수가 널 문자로 문자열의 끝을 확인 ( 널 문자가 나올 때까지가 하나의 문자열 )

  . 문자열의 끝에 널 문자가 없다면 문자열을 제대로 표시하거나 다룰 수 없음

    → char형 배열에 문자를 하나씩 대입해 직접 문자열을 만드는 경우, 문자열의 맨 끝에 반드시 널 문자를 지정

- 표기법: 아스키 코드 값이 0인 문자로, 문자 상수로는 \0으로 표현

#include <stdio.h>

int main(void)
{
	char str[5];

	str[0] = 'O';
	str[1] = 'K';
	printf("%s\n", str);

	return 0;
}
OK儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆???

 

 

□ 보너스 내용

- 널 문자의 정의, 용도와 출력을 설명한 사이트(영문): https://www.javatpoint.com/null-character-in-c

- C언어에서 NULL포인터, Null문자(\0) 및 0의 차이점을 설명한 사이트(영문)

  : https://www.geeksforgeeks.org/difference-between-null-pointer-null-character-0-and-0-in-c-with-examples/

- 두 사이트에서 동일하게 사용한 '\0'과 '0'의 값을 인쇄하는 C프로그램

#include<stdio.h>

int main()
{


    printf("The value of \\0 is %d \n", '\0');
    printf("and the value of 0 is %d \n", '0');
    return 0;
}
The value of \0 is 0 
and the value of 0 is 48

 

728x90