C++ - sizeof() 와 size() 함수

1. sizeof

sizeof() 함수는 메모리 공간을 차지하는 byte수를 return 합니다.
the sizeof() operator does not give you the number of elements in an array, gives you the number of bytes a thing occupies in memory.

sizeof() 함수로 포인터 변수의 크기를 구한다면 운영체제에 따른 byte 수가 return
32-bit operating system : 4bytes
64-bit operating system : 8bytes
배열의 이름은 배열의 시작주소를 의미합니다. sizeof(배열이름) 은 4bytes 혹은 8bytes가 return됩니다.
an array type will degenerate into a pointer type at every opportunity.

  1. sizeof() 함수는 메모리 공간을 차지하는 byte수를 return
  2. #include <stdio.h>
    int main()
    {
      char s[] = { 1, 2, 3, 4, 5, 0 };
      int xs[] = { 1, 2, 3, 4, 5, 0 };
    
      printf( "sizeof( s ) = %d\n",  sizeof( s  ) );
      printf( "sizeof( xs ) = %d\n", sizeof( xs ) );
    
      return 0;
    }
    sizeof(s) = 6
    sizeof(xs) = 24
  3. sizeof() 함수로 포인터 변수의 크기를 구한다면 운영체제에 따른 byte 수가 return
  4. #include <stdio.h>
    void f( const char s[] )
    {
      printf( "The size of f()'s     (s) is %d\n", sizeof( s ) );  
    }
      
    int main()
    {
      const char s[] = "Hello world!";
      printf( "s = \"%s\"\n", s );
      printf( "The size of main()'s  (s) is %d\n", sizeof( s ) );
      f( s );
      printf( "The size of main()'s (&s) is %d\n", sizeof( &s ) );
      return 0;
    }
    s = "Hello world!"
    The size of main()'s (s) is 13
    The size of f()'s (s) is 4
    The size of main()'s (&s) is 4

2. std::size() 혹은 STL의 size()함수

std::size()함수는 주어진 컨테이너 혹은 배열의 size를 return
Returns the size of the given container c or array array.
The new C++11 std::array class provides a lot of STL sequence container information about your array, including its size().

size of array.
size().
sizeof().

RPC Message procedure

Remote Procedure Call - Stateful Continue reading

PubSub architecture

Published on August 10, 2023

RESTful architecture

Published on August 09, 2023