제목대로 B+Tree 구현을 위해 C언어를 써야하는데, 속성 습득을 위해 boostcourse에 있는 무료 강의를 듣고 정리하고자 한다. 파이팅! 앞으로 정리 될 내용은, 수업 특성상 좀 틀린 내용이 있을 것 같다.(#include 를 활용해 특정 라이브러리를 받기 때
소스코드를 머신코드(기계어)로 바꿔주는 일련의 과정으로 총 4단계이다.컴퓨터 시스템 정리할 때도 봤던 내용인데, 강의에서 너무 친절하게 설명해줘서 좋았다. 나도 친절히 써봐야지.전처리 과정(Precompile)\- 예를 들어, \*\* 컴파일(Compile)\- 전처
'\*'는 어떤 메모리 주소에 있는 값을 받아오게 해준다. 이 연산자를 이용해서 포인터 역할을 하는 변수를 선언할 수 있다.아래 코드에서 '\*p'라는 포인터 변수에 '&n'(n의 주소)를 저장했다.int \*p에서 int는 '\*p'가 int 자료형 변수를 가리킨다는
C/C++ 사용에 편리한 Visual Studio는 맥OS에 지원하지 않아서.. 조금 덜 편한 VS Code를 활용하고자 한다.VS Code 설치g++, lldb 설치VS Code Extension 설치C/C++ 파일 빌드 및 실행디버깅 설정공식 홈페이지에 가서 다운로
지난 4주간 아래에 해당하는 문제를 거의 150문제 가까이 풀었다.나는 여기 오기 전까지 알고리즘 문제를 풀어본 적이 없어서, 개념들을 다 집어 넣으면서 문제를 풀다보니 쉽지 않았다. 아직 개념도, 구현도 많이 부족하지만 알고리즘과 친해지는 시간이었다. 이번 5주차
B-tree의 변형이라고 생각하면 된다. 크게 2가지 점이 중요하다.(내가 전에 구현하고 설명했던 B-tree에는 키(key)와 데이터(data)를 구분하지 않아서 좀 헷갈릴 수 있다.. 그러니 아래 사진도 보자.)1\. 중간 노드에는 키(key)만 저장되고, 리프(
malloc()함수는 memory allocationdml 약자로, 메모리를 할당하는 함수이다.아래와 같이 사용하며, 힙 영역의 메모리에 int자료형 메모리크기(4byte)를 10개를 할당한다. int형의 주소값을 가리키는 x는, 힙 영역에 저장한 메모리의 시작 주소다
내 벨로그에도 이런 그림이 2번 정도 나왔었는데, 여기서 또 가져와봤다.스택은 함수가 호출될 때, 지역 변수가 쌓이는 공간이다.힙은 malloc이 메모리를 할당하는 공간이다.(출처: https://gabrieletolomei.wordpress.com/misc
앞에서 잠깐 포인터가 무엇인지에 대해서는 알아봤다.이제 프린터에 대해 심화학습을 해보자. 공부 및 자료참조는 코딩도장에서 했다."포인터는 주소"다.포인터 변수에 저장되는 값은 (메모리 상에서 어떤 data를 가리키는) 주소값이다. 이 것을 항상 잘 생각하자.정답은 cp
전 포스팅에서 알아봤듯, 자료형에 \*를 붙여서 자료형에 알맞는 포인터 변수를 만들어줬다. 그런데, void 포인터를 사용하면 어떤 자료형이든 간에 활용할 수 있다. 따라서 범용포인터라고 불리기도 한다. 즉, 직접 자료형을 변환하지 않아도 암시적으로 자료형이 아래와 같
단어 그대로, 포인터의 포인터다. 즉, (어떤 값에 대한 주소를 저장하는 포인터)의 주소를 저장하는 포인터다.포인터도 실제로는 변수이기 때문에 메모리 주소를 구할 수 있다. 하지만 포인터의 메모리 주소는 일반 포인터에 저장할 수 없고, '\*\*numPtr2'처럼 이중
팀원들과 디버깅 간, 함수의 인자 입출력 순서에 대해 신기한 점을 발견해서 기록하고자 한다.사진 자료는 팀원의 블로그에서 얻었다. (감사합니다.) 위의 그림과 같이, function() 함수가 있다고 하자.function(1, 2, 3)에서 매개변수 1, 2, 3은 U
c언어에는 특정 메모리 영역에서 다른 메모리 영역으로, 원하는 크기만큼 복사를 하기위한 함수가 있다.C언어에서 memcpy() 함수는 "src" 메모리 영역에서 "dest" 메모리 영역으로 "size" byte 만큼 내용물(?)을 복사한다. 이 때, dest와 src의