전체 글
-
Javascript #1 - 예시로 배우기Web/Javascript 2026. 7. 7. 00:41
const form = document.getElementById('guessForm');form.onsubmit = async (e) => { e.preventDefault(); const formData = new FormData(form); await new Promise(resolve => setTimeout(resolve, 10000)); const response = await fetch('/guess', { method: 'POST', body: formData }); const result = await response.json(); document.getElementById('result').innerText = `Result: ${result.result..
-
C언어(10) - 추가 고급개념Programming Language/C 2025. 10. 5. 23:48
C언어를 깊이 있게 사용하려면 전처리기, 헤더 파일, 링킹 과정, 표준 라이브러리를 이해하는 것이 중요하다. 1. 매크로와 전처리기전처리기(Preprocessor): 컴파일 전에 코드 전처리를 담당주요 기능:#define → 상수, 매크로 정의#include → 다른 파일 포함조건부 컴파일: #ifdef, #ifndef, #if#define PI 3.14159#ifdef PI printf("PI 정의됨: %f\n", PI);#endif▶ PI라는 이름을 3.14159로 치환하라는 뜻이다.▶ PI가 #define으로 정의되어 있다면, 아래의 코드를 컴파일에 포함시킨다. 2. 헤더 파일과 다중 포함 방지헤더 파일(.h)에 함수 선언, 구조체 정의, 상수 등을 정의다중 포함 방지: 동일 헤더가 여러..
-
C언어(9) - 파일 입출력 이해하기Programming Language/C 2025. 10. 5. 23:42
C언어에서 파일 입출력은 프로그램이 종료되어도 데이터를 저장하고 읽어올 수 있게 해주는 기능이다.파일 입출력은 표준 입출력(stdout, stdin)과 달리 디스크에 저장되는 데이터를 다룬다. 1. 파일 입출력 함수의 기본 흐름파일 열기 → fopen()파일 읽기/쓰기 → fgetc(), fgets(), fputc(), fprintf() 등파일 닫기 → fclose()#include int main() { FILE *fp; // 파일 포인터 선언 fp = fopen("data.txt", "w"); // 쓰기 모드로 파일 열기 if (fp == NULL) { printf("파일 열기 실패\n"); return 1; } ..
-
C언어(8) - 메모리 구조 이해하기Programming Language/C 2025. 10. 5. 03:07
C 프로그램이 실행되면 메모리는 크게 네 부분으로 나뉘는데, C에서 메모리 구조 이해는 안전하고 효율적인 프로그래밍의 기본이라고 할 수 있다. 각각의 영역을 이해해야 스택 오버플로우, 힙 메모리 누수, 전역 변수/정적 변수 관리 등 문제를 예방 가능하고, 포인터, 동적 메모리, 구조체, 배열 등 C언어 핵심 개념을 이해하는데 도움이 될 수 있다.그러면 어떤 변수가 어떤 메모리에 저장되는지 간단하게 알아보자. 1. 스택(Stack)함수 호출 시 생성되는 지역 변수, 매개변수 등이 저장됨.함수 호출이 끝나면 자동으로 메모리에서 해제됨.특징: LIFO(Last In First Out) 구조, 관리가 자동.void func() { int x = 10; // 스택에 저장}▶ func() 함수에서 사용되는 ..
-
C언어(7) - 사용자 정의 자료형 이해하기Programming Language/C 2025. 10. 5. 02:53
C 언어에서 기본 자료형(int, char, float 등)만으로는 복잡한 데이터를 표현하기 어려울 때가 있다.이때 사용자가 직접 새로운 자료형을 정의할 수 있는데, 이를 사용자 정의 자료형이라고 한다.대표적으로 구조체(struct), 공용체(union), 열거형(enum), typedef가 있다. 1. 구조체(struct)구조체는 배열과 달리, 서로 다른 자료형을 하나의 논리적 단위로 묶어주는 사용자 정의 자료형이다.예를 들어 학생 정보를 다룰 때 이름(문자열), 나이(정수), 학점(실수)을 각각 따로 관리하지 않고, 하나의 객체처럼 묶어서 다룰 수 있다.#include #include struct Student { char name[20]; int age; float grade;};..
-
C언어(6) - 포인터 이해하기Programming Language/C 2025. 10. 4. 04:45
포인터는 메모리 주소를 저장하는 변수이다.C 언어에서 포인터는 배열, 함수, 동적 메모리 할당 등 다양한 기능의 기반이 되는 중요한 개념이다. 1. 포인터 선언과 기본 사용#include int main() { int a = 10; int *p = &a; // p는 a의 주소 저장 printf("a의 값: %d\n", a); printf("a의 주소: %p\n", &a); printf("p가 가리키는 값: %d\n", *p); // 역참조 return 0;}▶ 정수형 변수 a에 10이라는 값을 주었다.▶ 정수형 포인터 변수 p를 선언하고, a의 주소를 저장하게 했다. (&는 주소 키워드)▶ a의 주소는 메모리 어딘가의 주소로, 16진수로 표시된다.a의 값: 10a의 ..
-
C언어(5) - 배열과 문자열 이해하기Programming Language/C 2025. 10. 3. 05:32
C 언어에서 배열(Array)은 같은 자료형의 데이터를 연속된 메모리 공간에 저장하는 자료구조이고,문자열(String)은 문자들을 배열로 표현한 것이다. 1. 배열(Array)자료형 배열이름[크기];▶ 배열은 위와 같이 선언한다.#include int main() { int scores[5] = {90, 85, 70, 95, 100}; // 배열 초기화 for (int i = 0; i ▶ scores 정수형 배열을 선언과 동시에 초기화하여, for문으로 값들을 출력한다.scores[0] = 90scores[1] = 85scores[2] = 70scores[3] = 95scores[4] = 100▶ 출력 결과는 위와 같다.▶ 배열 인덱스는 0부터 시작하며, scores[0]은 첫 번째 요소를..
-
C언어(4) - 함수 이해하기Programming Language/C 2025. 10. 3. 05:15
C 언어에서 함수는 특정 작업을 수행하는 코드 블록이다.함수는 프로그램을 구조화하고, 중복 코드를 줄이며, 재사용성을 높이는 핵심 요소이다. 1. 함수 정의와 호출반환자료형 함수이름(매개변수 목록) { // 실행 코드 return 반환값; // 반환자료형이 void가 아닌 경우}▶ 함수는 위와 같은 형태로 이루어져 있다.#include // 함수 정의: 두 정수 합 계산int add(int a, int b) { return a + b;}int main() { int result = add(3, 5); // 함수 호출 printf("3 + 5 = %d\n", result); return 0;}▶ int add(int a, int b) int: 반환 자료형(결과값..