[C언어] 배열과 포인터의 관계 (1차원 배열 & 2차원 배열)
Dev/C2025. 4. 8. 01:44[C언어] 배열과 포인터의 관계 (1차원 배열 & 2차원 배열)

C언어에서 포인터와 배열은 밀접한 관계를 가지고 있습니다. 이 글은 1차원 배열과 2차원 배열을 중심으로, 포인터와 배열의 관게에 대해 정리한 글입니다.1차원 배열과 포인터1차원 배열의 메모리 구조C 언어에서 1차원 배열을 선언하면, 해당 배열을 구성하는 모든 원소가 메모리에 연속적으로 배치각 원소마다 정해진 크기(데이터 타입의 크기)만큼 연속해서 배치#include int main(void) { int arr[5] = {10, 20, 30, 40, 50}; printf("배열 arr의 시작 주소 : %p\n", (void*)arr); for (int i = 0; i C 언어 표준에 따르면, 배열의 원소들은 연속된 메모리 공간에 차례로 배치단일 타입으로 선언된 1차원 배열의 원소들 사이에는 추가적..

[C언어] 포인터의 기본 개념
Dev/C2025. 4. 4. 01:41[C언어] 포인터의 기본 개념

C언어의 핵심이자 가장 중요한 개념 중 하나인 포인터의 기본 개념에 대해 정리한 글입니다.변수와 메모리, 그리고 주소의 개념변수와 메모리변수 (Variable)특정 데이터를 저장해두는 이름 (label)ex) int a = 10 ➡️ 변수 이름 = a | 값 = 10모든 변수들은 주소가 존재 ➡️ 변수 이름은 개발자(사람)을 위한 것이라면 주소는 컴퓨터를 위한 값메모리 (Memory)프로그램에서 사용하는 모든 변수들이 저장되는 위치 ➡️ 컴퓨터 메모리(램, RAM) 어딘가에 실제로 저장되어 있음변수가 선언되면, 해당 변수는 메모리 어딘가에 자료형의 크기만큼 공간을 차지하고 값을 저장하고 있음주소 (Address)메모리는 매우 많은 칸들로 구성되어 있고, 각 칸마다 고유의 변호가 있으며 이를 주소(addr..

[WEB][DB] MySQL DBMS 설치
Dev/WEB2025. 3. 13. 00:38[WEB][DB] MySQL DBMS 설치

이 글은 DBMS 중 하나인 MySQL을 설치하는 방법에 대해 정리한 글입니다.MySQL DBMS 설치MySQL Community 다운로드MySQL 웹 사이트로 접속하여 MySQL Community 버전의 설치 파일을 다운로드 받는다.(아래 링크를 통해 이동하면 설치 파일을 받을 수 있는 MySQL 웹 사이트로 바로 이동한다.)https://dev.mysql.com/downloads/windows/installer/ MySQL :: Download MySQL InstallerMySQL Installer 8.0.41 Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip..

[WEB] 웹 서버(Web Server)와 REST API 개념 정리
Dev/WEB2025. 3. 7. 00:32[WEB] 웹 서버(Web Server)와 REST API 개념 정리

이 글은 웹 서버의 개념과 REST API의 개념에 대해 정리한 글입니다.웹 서버 (Web Server)웹 서버웹 서버는 하드웨어와 소프트웨어 차원에서 모두 사용되는 용어하드웨어 : 웹 요청을 수신하고 처리를 수행하는 물리적 서버 컴퓨터소프트웨어 : 웹 요청(HTTP 프로토콜 기반)을 받아들이고, 적절한 응답을 반환하는 프로그램일반적으로 웹 서버라고 하면 소프트웨어를 가리키는 경우가 많음웹 서버의 작동 원리클라이언트(웹 브라우저 등)는 특정 리소스를 요청하기 위해 HTTP 요청을 서버로 전송서버는 클라이언트로부터 받은 요청을 분석하여 적절한 응답(HTML, JSON, 파일 등)을 생성서버는 생성된 응답을 HTTP 응답 형태로 클라이언트에 반환클라이언트는 응답을 해석하여 화면에 출력하거나 추가 처리를 수행..

[WEB][Node.js] Node.js 설치 및 NVM을 이용한 버전 관리 (feat. nvm-windows)
Dev/WEB2025. 3. 6. 02:23[WEB][Node.js] Node.js 설치 및 NVM을 이용한 버전 관리 (feat. nvm-windows)

이 글은 윈도우 환경에서 NVM을 이용하여 node.js를 설치하고, 여러 버전을 관리하는 방법에 대해서 정리한 글입니다.기본적으로 NVM은 Linux와 MacOS용으로 개발되어 Windows에서는 공식 NVM을 사용할 수 없습니다. 그래서 Windows 사용자는 nvm-windows라는 별도의 프로젝트를 사용하여 Node.js의 버전을 관리하게 됩니다. 이번 글에서도 nvm-windows를 설치하고, nvm-windows를 이용하여 Node.js를 설치하고 버전 관리 하는 방법에 대해 정리하였습니다.NVM (Node.js Version Manager)NVM은 Node.js 버전 관리 도구여러 버전의 Node.js를 설치하고, 원하는 버전으로 전환할 수 있도록 도와주는 도구Anaconda(or minic..

[C++] C++의 기본 연산자 (산술, 대입, 증감, 비교, 논리 연산자)
Dev/C++2025. 2. 20. 02:11[C++] C++의 기본 연산자 (산술, 대입, 증감, 비교, 논리 연산자)

C++에 존재하는 연산자 중 기본이라고 할 수 있는 산술 연산자, 대입 연산자, 증감 연산자, 비교 연산자, 그리고 논리 연산자에 대해 정리한 글입니다.산술 연산자 (Arithmetic Operators)산술 연산자는 수치 계산을 위한 연산을 수행정수(int, long 등)나 실수(float, double) 모두 사용 가능산술 연산자의 종류덧셈 (+)뺄셈 (-)곱셈 (*)나눗셈 (/)정수 / 정수 = 정수 몫 (소수점 이하는 버림)실수 / 정수 등 정수와 실수 혼합 시 실수 연산 (소수점까지 출력)나머지(모듈로, %)정수형에만 적용 가능 (C++17 이전에는 실수에 대한 모듈러 연산 미지원)C++17 이후에도 표준에서는 실수 모듈러 연산을 직접 지원하지 않음✅ 산술 연산자 중 나눗셈(/)과 나머지(%) ..

[WEB][JS] JavaScript 기초 - DOM 제어
Dev/WEB2025. 2. 10. 01:24[WEB][JS] JavaScript 기초 - DOM 제어

웹 개발 시 JavaScript를 이용하여 HTML DOM을 제어하는 방법에 대해 정리한 글입니다.DOM의 기본 개념DOM의 정의DOM(Document Object Model)은 웹 문서를 구조적으로 표현하고, 이를 프로그래밍적으로 제어할 수 있도록 브라우저에서 제공하는 트리 구조(tree structure)을 의미웹 문서는 흔히 HTML을 통해 작성되며, 브라우저는 HTML 문서를 해석하여 DOM 트리를 생성함 >> 자바스크립트를 사용하여 DOM 트리를 수정, 선택, 삭제 등 조작이 가능DOM 트리 구조DOM 트리는 태그부터 DOM 예제 이 문서는 DOM 공부를 위한 예제입니다. Document └── html ├── head │ ..

[C++] C++의 변수와 상수, 그리고 자료형 (variables & constant & data type)
Dev/C++2025. 2. 10. 00:19[C++] C++의 변수와 상수, 그리고 자료형 (variables & constant & data type)

C++에서의 변수 선언과 자료형에 대해 정리한 글입니다. 변수, 상수, 그리고 기본 자료형에 대해 정리되어 있습니다.변수 (variables)변수의 정의와 목적변수는 값을 저장할 수 있는 메모리 공간에 붙인 이름을 의미ex. int score = 100;에서 int는 변수에 저장된 데이터 타입, score는 변수 이름, 그리고 100은 변수에 저장된 값을 의미프로그래밍 과정에서 특정 데이터를 반복 사용하거나, 연산이 필요한 경우 그 값을 임시로 저장하거나 변경하기 위해 사용메모리 관점에서, 변수를 선언하면 컴파일러가 해당 변수에 맞는 크기의 메모리 공간을 확보하고, 변수 이름을 통해 그 공간에 접근할 수 있도록 함변수 이름 생성 규칙C++에서 변수 이름(식별자)은 아래 규칙에 따라 생성해야 합니다.아래 ..

[WEB][JS] JavaScript 기초 - JavaScript 기본 문법
Dev/WEB2025. 2. 9. 00:16[WEB][JS] JavaScript 기초 - JavaScript 기본 문법

웹 개발에 필요한 JavaScript 기본 문법에 대해 정리한 글입니다. 기본적으로 다른 언어(C/C++, Java, Python 등)의 문법을 알고 있다는 가정 하에 간략하게 정리하였습니다.자바스크립트의 변수변수 선언var 변수 선언함수 레벨 스코프를 가지는 변수변수를 선언하기 전에 사용하는 경우(변수 선언보다 호출이 앞선 경우)에도 에러가 발생하지 않고 undefined가 할당된 상태로 접근할 수 있음 (호이스팅으로 인한 특징)중복 선언이 가능 >> 같은 스코프 내에서 같은 이름의 변수를 var로 여러 번 선언해도 에러가 발생하지 않고, 마지막으로 선언된 값으로 덮어쓰게 됨ES6(ECMAScript 2015) 이전까지 변수 선언을 위해 주로 사용되었으나, 스코프 및 의도치 않은 재할당 문제로 인해 권..

[WEB][CSS] CSS 기초 - 레이아웃 관련 기본 속성
Dev/WEB2025. 2. 4. 02:14[WEB][CSS] CSS 기초 - 레이아웃 관련 기본 속성

이 글은 CSS를 이용하여 페이지 레이아웃을 구성하기 위한 기본 속성에 대해 정리한 글이다.CSS 레이아웃CSS에서 레이아웃은 웹 페이지의 요소들을 어떤 방식으로 배치할지 결정하는 개념주요 속성 : display, position, z-index기타 속성 : float, clear, overflow현대 레아아웃 방식 : Flexbox & CSS Griddisplay 속성HTML 요소가 어떻게 배치(렌더링)되느냐를 결정하는 핵심 속성display: block요소가 블록(줄바꿈이 일어다는 단위)으로 배치블록 요소는 가로 영역을 모두 차지하며, 다음 요소가 바로 아래로 내려감width, height, margin, padding 적용 가능대표적인 HTML 요소 : , , ~ 등display: inline요..

image