배열의 길이를 알아내려면 어떻게 해야 되나요?


배열에 원소가 몇 개나 들어갈 수 있는지 알아내려면 어떻게 해야 되나요?

실제로 제가 할당한 값이 몇 개인지가 아니라 몇 개가 들어갈 수 있는지를 알고 싶습니다.

  • 2016년 01월 21일에 작성됨

조회수 550


1 답변


좋아요
0
싫어요
채택취소하기

C에서 쓰는 배열

C스타일의 배열에서는 다음 방법으로 배열의 크기를 알아낼 수 있습니다. *포인터(동적 할당을 받는 등)에서는 쓸 수 없습니다.

int a[7];
std::cout << "Length of array = " << (sizeof(a)/sizeof(*a)) << std::endl;

C++에서 쓰는 배열

대부분의 container class에서는

  • size(): container에 있는 원소의 수
  • max_size(): container에 최대로 들어갈 수 있는 원소의 수

메소드가 이미 정의되어 있습니다.

std::array에서는 size()max_size()는 항상 동일합니다.

#include <array>
int main(){
    array<int, 7> myarr = {1,2,3,4,5};
    cout << myarr.size() << endl;
}

std::vector에서는 vector::size()로 현재 vector에 있는 원소의 수를 알아낼 수 있습니다.

#include <vector>
int main(){
    vector<int> myvector;
    myvector.insert(myvector.end(), 1);
    myvector.insert(myvector.end(), 2);
    myvector.insert(myvector.end(), 3);
    cout << myvector.size() << endl;
}
  • 2016년 01월 21일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close