전체 글78 [C++] 함수와 const 목차 함수의 매개변수에 const 함수의 반환값에 const 함수명 뒤에 const 1. 함수의 매개변수에 const class CMyClass { public: CMyClass(); ~CMyClass(); private: int m_iPosX; int m_iPosY; public: void SetPos(const int iPosX, const int iPosY) { //iPosX = -1; // 오류 발생 m_iPosX = iPosX; m_iPosY = iPosY; } }; 함수의 매개변수에 const를 붙이면 매개변수의 값을 변경할 수 없다. 즉, const 예약어가 가지는 기능을 매개변수에 적용시키는 것이다. 매개변수가 변경되면 안되는 경우에 사용된다. 2. 함수의 반환값에 const const i.. 2019. 12. 30. [정렬] 버블 정렬 (Bubble Sort) 소개 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. 다른 정렬 알고리즘에 비해 느린 편이지만, 코드가 간단하다. 정렬 과정 첫 번째 탐색 1. 5와 3을 비교 2. 앞에 있는 5가 더 크므로 5와 3의 위치를 바꾼다. 3. 5와 1을 비교 4. 앞에 있는 5가 더 크므로 5와 1의 위치를 바꾼다. 5. 5와 9를 비교 6. 뒤에 있는 9가 더 크므로 위치를 변경하지 않는다. 7. 9와 7을 비교 8. 앞에 있는 9가 더 크므로 9와 7의 위치를 바꾼다. 9. 첫 번째 순회가 끝난 배열 첫 번째 탐색의 과정을 보면 가장 큰 수가 맨 뒤로 이동하게 된다. 즉, 매 순회마다 정렬된 수를 제외한 가장 큰 수가 맨 뒤로 가 뒤에서부터 정렬이 된다. 그러므로 맨 순회마다 배열의 전체를 탐색할 필요 없이 정.. 2019. 11. 21. [C/C++] free (stdlib.h에 선언되어 있음.) free(포인터); void memcmp(void* ptr); 할당한 메모리의 주소 반환 메모리를 해제한다 이전에 malloc 혹은 calloc, realloc 등으로 할당된 메모리를 해제해서, 나중에 다시 사용될 수 있게 합니다. 인자 ptr 기존에 malloc, callor, realloc 으로 할당된 메모리의 시작점을 가리키는 포인터 리턴값 없음 예시1 #include #include int main() { char* buffer; buffer = (char*)malloc(sizeof(char) * 10); if (buffer == NULL) return 0; for (int i = 0; i < 9; i++) *(buffer + i) = 'A' + rand() .. 2019. 11. 7. [C/C++] malloc (stdlib.h에 선언되어 있음.) malloc(메모리 크기); void* memcmp(size_t _Size); 할당한 메모리의 주소 반환 함수 호출 시 할당하고자 하는 메모리의 크기를 바이트 단위로 전달받고, 해당 크기만큼 메모리를 할당한다. 그리고 할당한 메모리의 시작 주소값을 반환한다. 할당된 메모리는 초기화 되지 않았을 수도 있다. 할당한 메모리는 반드시 free로 해제해줘야 한다. 동적할당을 할 때 사용된다. 인자 Size 메모리 블록의 크기 (바이트 단위) 리턴값 메모리 할당에 성공하였을 경우, 할당한 메모리의 시작 주소값을 반환한다. 반환형이 void* 이기 때문에 사용하려는 타입으로 캐스팅을 해줘야 한다. 메모리 할당에 실패하였을 경우, NULL 포인터를 반환한다. 예시1 #includ.. 2019. 11. 7. [C/C++] memcmp (string.h에 선언되어 있음.) memcmp(포인터1, 포인터2, 크기); int memcmp(void* ptr1, void* ptr2 size_t _Size); 결과에 따른 정수 값을 리턴 두 개의 메모리 블록을 비교한다. ptr1이 가리키는 처음 _Size 바이트의 데이터와 ptr2 가 가리키는 처음 _Size 바이트의 데이터를 비교하여 이들이 같다면 0 을 리턴하고 다르다면 0 이 아닌 값을 리턴한다. 이 때 리턴되는 값은 아래를 참고. 인자 ptr1 메모리 블럭을 가리키는 포인터이다. ptr2 메모리 블럭을 가리키는 포인터이다. _Size 비교할 바이트의 수를 나타낸다. 리턴값 두 개의 메모리 블록의 관계에 따라 아래와 같이 정수 값을 리턴한다. 만일 두 메모리 블록이 정확히 같다면 0 을 .. 2019. 11. 2. 이전 1 ··· 10 11 12 13 14 15 16 다음