안녕하세요! 이번에는 C++에서의 std::string과 char 배열의 차이를 비교해보려고 합니다. C++에서 문자열을 표현하는 두 가지 방법인 std::string과 char 배열은 각각 장단점을 가지고 있습니다. 이 글에서는 두 방법의 동작 원리, 메모리 할당, 문자열 조작 등 다양한 측면을 비교해보면서 어떤 상황에서 어떤 방법을 선택해야 하는지 알아보겠습니다. std::string: 유연하고 편리한 문자열 클래스 std::string은 C++ 표준 라이브러리에서 제공하는 문자열 클래스입니다. std::string 객체는 동적으로 메모리를 할당하여 문자열을 저장하므로, 문자열의 길이에 따라 자동으로 크기가 조절될 수 있습니다. 이는 필요한 만큼의 메모리만 사용하므로 메모리의 낭비를 최소화할 수 있습..
이번 시간에는 int main()과 int main(void), 그리고 void main()의 차이점에서 설명하겠습니다. // 1번 항목 int main() { return 0; } // 2번 항목 int main(void) { return 0; } 위에 작성한 1번 항목과 2번 항목의 차이점은 무엇일까요? 사실 C나 C++에서 모두 작동합니다. 다만, C에서는 매개변수로 void가 존재하는 것, 즉 int main(void)가 매개변수를 넣지 않고서만 작동을 하기 때문에 기술적으로 더 나은 것으로 판단합니다. C에서는 함수의 매개변수를 지정하지 않으면 이는 여러 매개변수를 사용하거나, 매개변수 없이 모두 사용가능함을 의미합니다. 예를 들어, // 1번 항목 void mat() { } int main(v..
C는 절차적 프로그래밍 언어입니다. Dennis Ritchie가 운영체제를 작성하기 위한 시스템 프로그래밍 언어로 개발했습니다. C 언어 주요 기능은 메모리에 대한 저수준 액세스를 담당하고 있으며, C언어를 운영체제 또는 컴파일러 개발과 같은 시스템 프로그래밍에 적합합니다. 이후의 많은 언어는 C 언어에서 직접적으로 혹은 간접적으로 구문/기능을 차용했습니다. Java의 구문과 마찬가지로 PHP, JavaScript 및 기타 여러 언어는 주로 C 언어를 기반으로 합니다. C++는 C 언어의 상위 집합입니다. C 프로그램 구조 C 프로그램의 구조는 다음과 같습니다. 1. include Header : C 언어로 작성되 프로그램에서 가장 중요한 요소는 헤더 파일을 포함하는 것입니다. 헤더 파일은 여러 소스 파..