12주차 강의 정리(이경훈) - aksrud/3kingOfGod GitHub Wiki
형식 변환 연산자
(형식): 형식 변환 연산자 ex.) int* p = (int*)malloc(sizeof(int)) 참고: cpp에서는 엄격한 타입 관리 때문에 동적 할당을 받을때도 형식을 변환해야 한다.
코드 분리 && 코드 함수로 감싸기(wrap)
CRUD
CREATE, READ, UPDATE, DELETE로 데이터를 다룰때 수행하는 대표적인 연산을 추상화한 것으로 보통 CRUD단위로 코드를 감싼다. ex.) PrintInt(int* p);
코드 분리
#pragma once: 현재 헤더 파일을 한 번만 포함 한다는 전 처리문. .h 파일에는 함수의 시그니쳐 정보가 들어간다. 그다음 메인 함수를 제외하고 헤더 파일의 정의된 함수 시그니쳐들을 구현한다. 메인 함수에는 헤더함수를 <> 기호 말고 ""를 사용하여 사용한다. ex.) #include "Int.h"
outParamater
동적 할당으로 메모리 공간을 할당 받고 거기에 데이터를 쓰고 싶다면 outPramater즉 더블 포인터를 이용해서 구현한다.
typedef
정의되어 있는 타입을 내가 원하는 이름으로 바꾸는 명령어로 보통 포인터나 데이터를 표현하는 변수의 데이터 타입에 쓰인다.
구조체(struct)
구조체란 타입이 다른 데이터를 하나로 묶어 관리하는 방법으로 논리적인 영역인 도메인 영역을 더 다루기 쉽게 할수 있다.
.연산자
구조체의 멤버 변수를 접근 할때 쓰이는 연산자.
-> 연산자
만약 포인터로 구조체 형식의 데이터를 가르키면 그 구조체의 맴버 변수는 -> 연산자로 참조 할수 있다.
패딩 비트
프로그램이 구조체를 더 다루기 쉽게 하기 위해 제일 큰 데이터 형식을 기준으로 구조체의 메모리를 만들고 읽고 저장하는데, 만약 char, int 순이면 1, 4인데 실제 구조체의 메모리는 1, 3(패딩 비트), 4로 되어있어 3비트가 추가된다. 이 때문에 구조체의 멤버 변수의 순서를 생각해서 배치하면 더 효율적인 메모리 관리가 가능하다.