본문 바로가기
공부/개발노트

[C/C++] sizeof 연산자를 활용해서 배열의 크기 알아보기

반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(){
    double d;
    int i;
    char a;
    
    cout << "sizeof(d) = " << sizeof(d) << " (bytes)\n";
    cout << "sizeof(i) = " << sizeof(i) << " (bytes)\n";
    cout << "sizeof(a) = " << sizeof(a) << " (bytes)\n";
    cout << "sizeof(double) = " << sizeof(double<< " (bytes)\n";
    cout << "sizeof(int) = " << sizeof(int<< " (bytes)\n";
    cout << "sizeof(char) = " << sizeof(char<< " (bytes)\n";
    
    return 0;
}
cs






배열의 크기를 알아보기에 앞서 sizeof 연산자로만 double, int, char 타입 별 크기를 알아보았습니다.


이젠 배열의 크기를 알아봅시다.


기존적으로 전체 배열의 크기는 '각 원소의 크기 * 원소의 개수' 입니다.


이 말이 정답인지 직접 코딩해서 알아봅시다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
int main(){
    char cArray[3= {'A''B''C'};
    int iArray[4= {100200300400};
    double dArray[5= {0.10.20.30.40.5} ;
    
    // cArray의 크기 알아보기  
    cout << "sizeof(cArray) = " << sizeof(cArray) << " (bytes)\n";
    cout << "sizeof(cArray[0]) = " << sizeof(cArray[0]) << " (bytes)\n";
    cout << "sizeof(cArray) / sizeof(cArray[0])) = " << sizeof(cArray) / sizeof(cArray[0]) << "\n\n";
    
    // iArray의 크기 알아보기  
    cout << "sizeof(iArray) = " << sizeof(iArray) << " (bytes)\n";
    cout << "sizeof(iArray[0]) = " << sizeof(iArray[0]) << " (bytes)\n";
    cout << "sizeof(iArray) / sizeof(iArray[0])) = " << sizeof(iArray) / sizeof(iArray[0]) << "\n\n";
    
    // dArray의 크기 알아보기  
    cout << "sizeof(dArray) = " << sizeof(dArray) << " (bytes)\n";
    cout << "sizeof(dArray[0]) = " << sizeof(dArray[0]) << " (bytes)\n";
    cout << "sizeof(dArray) / sizeof(dArray[0])) = " << sizeof(dArray) / sizeof(dArray[0]) << "\n\n";
    
    return 0;
}
cs



반응형