[C] 구조체
📌 들어가며 배열은 같은 타입의 데이터만 묶을 수 있었다. 그런데 “학생 한 명”을 표현하려면 학번(문자열), 나이(정수), 키(실수)처럼 서로 다른 타입을 하나로 묶어야 한다. 이걸 가능하게 하는 것이 구조체(struct)다. 구조체(struct)란? 여러 개의 데이터(멤버)로 구성된 사용자 정의 자료형. 한 구조체에 여러 타입의 변수를 함...
📌 들어가며 배열은 같은 타입의 데이터만 묶을 수 있었다. 그런데 “학생 한 명”을 표현하려면 학번(문자열), 나이(정수), 키(실수)처럼 서로 다른 타입을 하나로 묶어야 한다. 이걸 가능하게 하는 것이 구조체(struct)다. 구조체(struct)란? 여러 개의 데이터(멤버)로 구성된 사용자 정의 자료형. 한 구조체에 여러 타입의 변수를 함...
📌 들어가며 C를 배우면서 문자열은 잠깐씩 봤지만, 알고 보면 꽤 복잡한 녀석이다. C에는 문자열 타입이 따로 없어서 char[] 배열 + '\0'(널 문자)로 다루고, 각종 처리는 string.h의 str___ 함수들에 맡긴다. 이번 글에서는 대표적인 문자열 함수들을 정리한다. 이 글에서 다루는 함수 (모두 #include <strin...
📌 들어가며 The computing world has undergone a revolution since the publication of The C Programming Language in 1978. (1978년 책 「The C Programming Language」 출판 이후 컴퓨팅 세계는 혁명을 겪어왔다.) — The C P...
📌 들어가며 이번 글에서는 printf를 이용한 문자열 출력과, 문자열 안에서 특수한 기능을 하는 escape 문자를 정리한다. printf의 뜻은 print formatted(서식화된 출력)다. 쌍따옴표 "..." 안에는 출력할 문자열(string)이 들어간다. 1. 문자열 선언과 출력 문자열을 선언하는 방법은 여러 가지다. 예시로...
📌 들어가며 C에서 가장 어렵다고 소문난 포인터 차례다. 실제로 배울 때 헷갈리는 점이 많았지만, 핵심은 하나다. “변수에 값이 아니라 ‘주소’를 담는다.” 이 관점만 잡으면 나머지는 자연스럽게 따라온다. 먼저 기초 개념부터 정리하자. 개념 정의 메모리 연속된...
📌 들어가며 연산자에는 여러 종류가 있다. 산술·복합 대입·증감·비교·논리·삼항·비트 연산자 등. 이번 글에서는 이들을 하나씩 정리한다. 분류 연산자 산술 + - * / % 복합 대입 += -= *= /= %= ...
📌 들어가며 같은 작업을 여러 번 반복해야 할 때, 그걸 손으로 일일이 쓰는 건 프로그래머의 방식이 아니다. 반복을 코드에게 맡기는 것이 순환문(loop)이다. 이번 글에서는 for, while, do ~ while과 중첩 순환문, 그리고 break / continue를 정리한다. 순환문 특징 ...
📌 들어가며 지금까지는 값을 코드 안에 직접 써넣었다. 이제는 사용자가 직접 값을 입력하도록 만들어 보자. 이번 글에서는 입력 함수 scanf와 문자열 입력 gets를 정리한다. 입출력(I/O)이란? 구분 기본 장치 그 외 ...
📌 들어가며 변수는 “어디서든 쓸 수 있는” 게 아니다. 어디에 선언했느냐에 따라 쓸 수 있는 범위(scope)가 달라진다. 이번 글에서는 지역변수(local)와 전역변수(global)의 차이를 정리한다. 1. 지역변수 (local variable) 지역변수란? 어떤 블록({ }) 안에서 선언된 변수. 선언 이후 그 블록 안에서만 사용할...
📌 들어가며 같은 코드를 여기저기 반복해서 쓰는 건 비효율적이다. 자주 쓰는 코드 덩어리를 하나로 묶어 이름을 붙여두고, 필요할 때마다 불러 쓰는 것이 함수(function)다. 함수란? 자주 반복 수행할 코드 덩어리를 ① 함수로 ‘정의’하고, ② 필요할 때마다 ‘호출’하여 사용하는 것. 1. 함수의 정의·호출·리턴 함수 정의 (fu...