전체 글 223

[C] include, include guard(#idndef)

include - 해당 파일을 찾아서 그 파일의 코드를 복붙한다고 이해하면 됨. - 두 가지 방식: #include : 라이브러리에서 헤더파일 찾음 #include "": 주소에서 찾음 (일단 현재 디렉토리에서 검색함) include guard 헤더 파일이 참조되거나 include 될 때 중복되는 것을 방지하기 위해서 사용하는 것 element라는 게 여러 파일에서 다르게 정의될까봐 이를 막으려고 하는 것이다. - ifndef 방식을 주로 사용한다. #ifndef ELEMENT // 만약 element가 정의되지 않았다면 #define ELEMENT // 여기서 정의해라 // 내용 #endif //가드 되는 부분의 끝

언어/C&C++ 응용 2021.06.14

[C] 메모리 동적 할당

동적 메모리 할당: 함수가 호출될 때마다 새로 할당되고, 함수를 빠져나가도 유지되는 변수 malloc, free 정의 #include void* malloc(size_t size); //힙 영역 메모리 할당, 해당 메모리 주소값 반환, 실패 시 NULL반환 void free(void* ptr); // 힙 영역 할당된 메모리 공간 해제 * 선언방식 int *ptr_i = (int*)malloc(sizeof(int)); double* ptr_da = (double*)malloc(sizeof(double)*9; // 배열처럼 - type casting 하지 않으면 해당 메모리에 저장 불가능함! - malloc은 실패 시 NULL을 반환하므로, 메모리가 배당되었는지 확인하는 코드를 작성해야 한다. - 동적 할당..

언어/C&C++ 응용 2021.06.14