[C] 지역변수와 전역변수
📌 들어가며 변수는 “어디서든 쓸 수 있는” 게 아니다. 어디에 선언했느냐에 따라 쓸 수 있는 범위(scope)가 달라진다. 이번 글에서는 지역변수(local)와 전역변수(global)의 차이를 정리한다. 1. 지역변수 (local variable) 지역변수란? 어떤 블록({ }) 안에서 선언된 변수. 선언 이후 그 블록 안에서만 사용할...
📌 들어가며 변수는 “어디서든 쓸 수 있는” 게 아니다. 어디에 선언했느냐에 따라 쓸 수 있는 범위(scope)가 달라진다. 이번 글에서는 지역변수(local)와 전역변수(global)의 차이를 정리한다. 1. 지역변수 (local variable) 지역변수란? 어떤 블록({ }) 안에서 선언된 변수. 선언 이후 그 블록 안에서만 사용할...
📌 들어가며 같은 코드를 여기저기 반복해서 쓰는 건 비효율적이다. 자주 쓰는 코드 덩어리를 하나로 묶어 이름을 붙여두고, 필요할 때마다 불러 쓰는 것이 함수(function)다. 함수란? 자주 반복 수행할 코드 덩어리를 ① 함수로 ‘정의’하고, ② 필요할 때마다 ‘호출’하여 사용하는 것. 1. 함수의 정의·호출·리턴 함수 정의 (fu...
📌 들어가며 프로그램은 결국 데이터를 다루는 일이고, 그 데이터를 담는 그릇이 변수(variable)다. 이번 글에서는 변수의 선언 → 초기화 → 사용 흐름과, 출력에 쓰이는 서식 지정자(%d)를 정리한다. 변수란? 프로그램에서 데이터를 담기 위한 공간. 이 공간에 이름(변수명, variable name)을 붙여 관리한다. 1. 변수의...
📌 들어가며 변수를 선언할 때 앞에 붙이던 int, 출력할 때 쓰던 %d. 이번 글에서는 이 데이터 타입과 서식 지정자(format specifier)를 정리하고, 타입의 용량을 넘어설 때 벌어지는 오버플로우까지 살펴본다. 1. C의 데이터 타입 C의 기본 데이터 타입은 다음과 같다. (1byte = 8bit) 타...
📌 들어가며 프로그램은 항상 위에서 아래로만 흐르지 않는다. 상황에 따라 다른 길로 가야 할 때가 있고, 그 흐름을 바꾸는 것이 제어문(Control)이다. 제어문: 프로그램의 흐름을 제어(변경)하는 문장. 종류 문법 조건문(Conditional) if...
📌 들어가며 어떤 프로그램이든 첫 출력을 찍어보는 것으로 시작한다. 이번 글에서는 C 프로그램의 기본 틀과 printf를 이용한 출력을 정리한다. 1. C 프로그램의 기본 틀 Visual Studio에서 C 프로그램을 작성하려면 기본적인 ‘틀’을 갖춰야 한다. #include <stdio.h> // ① 표준 입출력 헤더 ...
📌 들어가며 입력 함수를 처음 쓰다 보면 “왜 두 번째 입력을 받지도 않고 프로그램이 끝나버리지?” 하는 순간을 만난다. 범인은 대부분 버퍼(buffer)다. 이번 글에서는 버퍼가 무엇인지, 그리고 엔터키(\n)가 어떻게 입력을 꼬이게 만드는지 살펴본다. 버퍼(buffer)란? 어떤 장치에서 다른 장치로 데이터를 보낼 때 생기는 시간 차이나 ...
📌 들어가며 C를 배우다 보면 “같은 타입의 값 여러 개를 한꺼번에 다뤄야 하는” 순간이 온다. 학생 5명의 점수, 센서 100개의 측정값처럼. 이걸 변수 하나에 하나씩 담으면 score1, score2, … score100이 되어버린다. 이 문제를 해결하는 도구가 바로 배열(array)이다. 배열(array)이란? 동일한 타입의 데이터 여러...