[c] 배열과 스마트 포인터

배열과 스마트 포인터는 프로그래밍에서 매우 중요한 역할을 합니다. 배열은 데이터 요소를 연속적으로 저장하기 위한 자료구조입니다. 스마트 포인터는 메모리를 관리하기 위한 도구로, 포인터가 가리키는 메모리 공간을 안전하게 관리합니다.

배열

배열은 여러 데이터 요소를 하나의 변수에 저장할 수 있게 해주는 자료구조입니다. 각 요소는 인덱스를 사용하여 접근할 수 있습니다. C++에서 배열은 기존 변수와는 달리 크기가 고정되어 있어 실행 시간에 크기를 변경할 수 없습니다. 따라서 배열을 사용할 때는 데이터 요소의 크기를 미리 알고 있어야 합니다.

int arr[5] = {1, 2, 3, 4, 5}; // 크기가 5인 배열 생성

스마트 포인터

스마트 포인터는 C++의 표준 라이브러리에서 제공하는 포인터 래퍼 클래스로, 메모리 누수와 잘못된 메모리 해제를 방지하는 데 사용됩니다. 가장 널리 사용되는 스마트 포인터는 std::unique_ptrstd::shared_ptr입니다.

std::unique_ptr<int> ptr(new int); // 고유 소유권을 가진 스마트 포인터 생성

결론

배열과 스마트 포인터는 모두 메모리를 관리하는 데 중요한 역할을 합니다. 배열은 데이터의 연속적인 저장에 사용되며, 스마트 포인터는 메모리의 소유권을 안전하게 관리합니다. 올바르게 활용하면 프로그램의 안정성과 성능을 높일 수 있습니다.