C언어 (1)
1. C언어의 기본 구조 C언어는 절차지향 프로그래밍 언어로, 위에서 아래로 순차적으로 코드를 실행한다. 모든 C 프로그램은 main() 함수에서 시작된다. #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } #include <stdio.h>는 표준 입출력
Search for a command to run...
Series
C, C++ 등 시스템 프로그래밍 관련 학습 기록
1. C언어의 기본 구조 C언어는 절차지향 프로그래밍 언어로, 위에서 아래로 순차적으로 코드를 실행한다. 모든 C 프로그램은 main() 함수에서 시작된다. #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } #include <stdio.h>는 표준 입출력
1. 입력함수 1-1. scanf printf 가 화면에 출력하는 함수라면, scanf 는 사용자로부터 값을 입력받는 함수다. int age; printf("나이를 입력하세요: "); scanf("%d", &age); printf("입력한 나이: %d\n", age); scanf 의 첫 번째 인자는 서식 문자(%d, %f, %c 등)이고, 두 번째 인자부
1. 함수(Function) 1-1. 함수란? 함수는 특정 작업을 수행하는 코드 묶음 이다. 반복되는 코드를 하나로 묶어 이름을 붙이고, 필요할 때마다 호출해서 사용한다. JavaScript에서 function으로 함수를 만들어 쓰는 것과 같은 개념이다. 다만 C에서는 반환 타입을 명시해야 하고, 매개변수에도 타입을 지정해야 한다는 차이가 있다. 함수를 사
1. 포인터 1-1. 포인터란? 포인터는 다른 변수의 메모리 주소를 저장하는 변수 다. 일반 변수가 값을 직접 담고 있다면, 포인터는 "그 값이 어디에 있는지"를 담고 있다. 비유하자면 일반 변수는 서랍 안의 물건이고, 포인터는 그 서랍의 위치를 적어둔 메모지다. int x = 10; int *p = &x; // p는 x의 주소를 저장 printf("x
1. Null 포인터 포인터를 선언만 하고 초기화하지 않으면 쓰레기값 이 들어있다. 이 상태에서 역참조(*p)를 하면 엉뚱한 메모리에 접근하게 되어 프로그램이 터지거나, 더 위험하게는 조용히 잘못된 데이터를 건드릴 수 있다. 이런 상황을 방지하기 위해 "아직 아무것도 가리키지 않는다"는 의미로 NULL 을 대입한다. int *p = NULL; NULL 은
1. 전처리 1-1. 전처리란? C 소스 코드가 실행 파일이 되기까지의 과정을 다시 떠올려보자. 소스파일(.c) → [전처리] → 전처리 파일(.i) → [컴파일] → 목적파일(.o) → [링크] → 실행파일 전처리(Preprocessing) 는 컴파일이 시작되기 전에 소스 코드를 먼저 가공하는 단계다. #으로 시작하는 지시문들을 처리하는 것이 이 단계에