Go 언어 슬라이스 초기화 시 길이와 용량 설정에 따른 동작 차이

Go 언어에서 슬라이스를 생성할 때 make([]T, 0, cap) 형태와 make([]T, len) 형태는 внешне 유사해 보이지만, 런타임의 메모리 관리 방식과 데이터 조작 전략에서 명확한 차이를 보입니다. 이 차이는 주로 초기 길이 설정, 제로값 할당 여부, 그리고 append 호출 시의 재할당 로직에서 발생합니다. 1. 길이(Length)와 용량(Capacity)의 초기 상태 슬라이스 초기화 시 전 ...

9월 28일 01:58에 게시됨

C 언어 양방향 연결 리스트(Doubly Linked List) 구현 및 구조 분석

1. 기초 데이터 타입 및 상태 코드 정의 연산의 성공, 실패, 메모리 할당 오류 등의 상태를 명확하게 처리하기 위해 열거형(enum)을 활용한 상태 코드를 정의합니다. 또한, 노드에 저장될 데이터의 타입을 별도로 지정하여 추후 확장성을 높입니다. #ifndef COMMON_DEFS_H #define COMMON_DEFS_H #include <stdio.h> #include <stdlib.h> typedef enum { ...

6월 25일 19:04에 게시됨