본문 바로가기

분류 전체보기189

[C/C++ 프로그래밍] 15. 메모리 동적 할당 Chapter 15. 메모리 동적 할당 메모리 동적 할당(dynamic memory allocation)은 C/C++ 프로그래밍에서 매우 중요한 주제입니다. 이는 실행 시간 동안 프로그램이 필요한 만큼의 메모리를 요청하고 해제할 수 있게 해주는 메커니즘입니다. C언어에서는 'malloc', 'calloc', 'realloc' 및 'free' 함수를 사용하여 동적 메모리를 할당하고 해제합니다. 'malloc'은 지정된 크기의 메모리 블록을 할당하고, 'calloc'은 지정된 크기의 메모리 블록을 할당한 후 0으로 초기화합니다. 'realloc'은 이미 할당된 메모리 블록의 크기를 변경하고, 'free'는 할당된 메모리를 해제합니다. 반면, C++에서는 'new'와 'delete' 연산자를 사용하여 메모리를.. 2023. 5. 16.
[C/C++ 프로그래밍] 14. 예외 처리 Chapter 14. 예외 처리 C/C++에서 예외 처리는 프로그램에서 예기치 않은 이벤트나 오류가 발생했을 때 이를 효과적으로 처리하는 방법을 말합니다. 이런 오류들은 파일을 열 수 없거나, 메모리를 할당할 수 없는 경우 등 다양한 상황에서 발생할 수 있습니다. C 언어는 내장된 예외처리 메커니즘이 없기 때문에, 일반적으로 오류코드를 반환하거나 전역 오류 변수인 'errno'를 설정하여 오류를 처리합니다. 반면에 C++에서는 'try', 'catch', 'throw' 키워드를 사용하여 예외를 던지고, 이를 잡아내는 구조화된 방식의 예외 처리를 지원합니다. 이를 통해 예외가 발생하면 적절한 처리를 수행하거나, 프로그램을 안전하게 종료할 수 있습니다. 이렇게 예외 처리를 통해 프로그램의 안정성과 신뢰성을 .. 2023. 5. 16.
[C/C++ 프로그래밍] 13. 파일 입출력 Chapter 13. 파일 입출력 이 장에서는 C/C++에서 파일 입출력에 대해 상세하게 다루게 됩니다. 먼저 파일과 스트림에 대한 개념을 이해하고, 그 후에 파일 입출력의 기본적인 방법에 대해 알아보게 됩니다. 이를 위해 파일을 열고 닫는 방법, 그리고 파일에서 문자 및 문자열을 읽고 쓰는 방법을 배웁니다. 다음으로, 파일 입출력 함수인 fputc, fgetc, fputs, fgets, fprintf, fscanf에 대해 설명하고, 실제로 어떻게 사용하는지에 대한 예제 코드를 통해 설명합니다. 그 후에는 파일 위치 지시자에 대해 배우고, fseek 함수와 ftell 함수의 사용법을 숙지하게 됩니다. 이어서 이진 파일 입출력에 대한 이해를 증진시키기 위해, 이진 파일과 텍스트 파일의 차이점을 학습하고, .. 2023. 5. 16.
[C/C++ 프로그래밍] 12. 구조체 Chapter 12. 구조체 구조체의 개념과 선언 방법, 그리고 초기화를 배우게 됩니다. 구조체를 사용해 변수를 선언하고 접근하는 방법, 구조체 배열, 그리고 함수와의 상호작용에 대해 다룹니다. 또한, 구조체의 메모리 할당과 포인터 사용법, 중첩된 구조체 사용, 그리고 typedef를 통한 별칭 설정 등도 포함되어 있습니다. 이를 통해 코드를 효율적으로 작성하는 방법을 배울 수 있습니다. [Chapter 12. 구조체] 12.1. 구조체의 이해 12.1.1. 구조체의 개념과 필요성 12.1.2. 구조체의 선언과 초기화 12.2. 구조체의 사용 12.2.1. 구조체 변수의 선언과 접근 12.2.2. 구조체 배열 12.2.3. 구조체와 함수 12.3. 구조체와 메모리 12.3.1. 구조체의 메모리 할당 12.. 2023. 5. 16.
[C/C++ 프로그래밍] 11. 포인터 2023.05.16 - [GD's IT Lectures : 기초부터 시리즈/C, C++ 기초부터 ~] - [C/C++ 프로그래밍] 10. 문자열 Chapter 11. 포인터 C/C++ 프로그래밍에서 핵심적인 개념인 포인터에 대한 깊이 있는 이해를 제공합니다. 포인터의 개념부터 선언, 초기화, 그리고 포인터와 함께 작동하는 변수, 함수 등에 대해 설명합니다. 이 장에서는 포인터 연산과 다중 포인터의 활용, 그리고 동적 메모리 할당과의 관계에 대해서도 배울 수 있습니다. 다양한 예제코드와 주석을 통해 이론적인 지식을 실제 코드에 적용하는 방법을 보여줍니다. 11.1 포인터의 이해 포인터의 기본 개념에 대해 배웁니다. 메모리와 주소의 이해로 시작하여, 포인터의 정의, 그리고 포인터의 선언 및 초기화 방법에 대.. 2023. 5. 16.
[C/C++ 프로그래밍] 10. 문자열 Chapter 10. 문자열 C/C++ 프로그래밍에서 문자의 집합을 처리하는 방법에 대해 다룹니다. 이 챕터에서는 문자열의 개념, 선언, 초기화, 사용법, 그리고 문자열을 함수의 인자로 전달하는 방법과 문자열 관련 함수들에 대해 배웁니다. 문자열의 메모리 구조와 포인터의 관계도 이해하게 될 것입니다. 그리고 여러 프로그램 예제를 통해 실제 문자열 처리에 대한 이해를 높이고, 마지막으로는 동적 메모리 할당을 이용한 문자열 처리와 문자열의 다양한 응용에 대해서도 배우게 됩니다. [Chapter 10. 문자열] 10.1. 문자열의 개념 10.1.1. 문자열이란? 10.1.2. 문자열의 필요성 10.2. 문자열의 선언과 초기화 10.2.1. 문자열 선언하기 10.2.2. 문자열 초기화하기 10.3. 문자열의 사.. 2023. 5. 16.