일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 | 29 | 30 |
31 |
- 자료구조
- leveleditor
- 각도변환
- 언리얼비헤이어비어트리
- unrealengineai
- 프로그래밍
- c언어정리
- 영단어정리
- c++porinter
- 언리얼ai
- 월드아웃라이너
- 언리얼엔진5
- directx
- 프로그래밍일기
- DX
- c++class
- 게임엔진튜토리얼
- 25.06.11dir
- ipc(inter process communication)
- 자료구조정리
- uaiperception
- 수학용어정리
- 게임개발
- 자료형타입
- 언리얼엔진
- 언리얼엔진공부
- c++용어정리
- bttask
- c++
- livrary
- Today
- Total
루리코딩 세상
sizeof 연산자 본문
https://learn.microsoft.com/ko-kr/cpp/cpp/sizeof-operator?view=msvc-170 해당 사이트 참고함.
형식 char의 크기에 따라 피연산자의 크기를 결과로 생성합니다.
구문
sizeof unary-expression
sizeof ( type-name )
설명
sizeof 연산자의 결과는 포함 파일 <stddef.h>에 정의된 정수 형식인 size_t 형식에 속합니다. 이 연산자를 사용하면 프로그램에서 컴퓨터 종속 데이터 크기를 지정하지 않아도 됩니다.
sizeof의 피연산자는 다음 중 하나가 될 수 있습니다.
- 형식 이름. 형식 이름과 함께 sizeof를 사용하려면 이름이 괄호로 묶여 있어야 합니다.
- 식입니다. 식과 함께 사용하는 경우 sizeof는 괄호를 포함하거나 포함하지 않고 지정할 수 있습니다. 식은 계산되지 않습니다.
sizeof 연산자가 char 형식의 개체에 적용되면 1이 결과로 생성됩니다. sizeof 연산자가 배열에 적용되면 배열 식별자가 나타내는 포인터의 크기가 아닌 해당 배열의 전체 바이트 수가 결과로 생성됩니다. 배열 식별자가 나타내는 포인터의 크기를 구하려면 sizeof가 사용되는 함수에 매개 변수로 전달합니다. 예시:
예시
#include <iostream>
using namespace std;
size_t getPtrSize( char *ptr )
{
return sizeof( ptr );
}
int main()
{
char szHello[] = "Hello, world!";
cout << "The size of a char is: "
<< sizeof( char )
<< "\nThe length of " << szHello << " is: "
<< sizeof szHello
<< "\nThe size of the pointer is "
<< getPtrSize( szHello ) << endl;
}
샘플 출력
The size of a char is: 1
The length of Hello, world! is: 14
The size of the pointer is 4
sizeof 연산자가 class, struct 또는 union 형식에 적용되면 해당 형식 개체의 바이트 수와 함께 단어 경계에 멤버를 맞추기 위해 추가된 안쪽 여백이 결과로 생성됩니다. 결과는 개별 멤버의 스토리지 요구 사항을 추가하여 계산된 크기와 일치하지 않을 수도 있습니다. /Zp 컴파일러 옵션과 pack pragma는 멤버 맞춤 경계에 영향을 줍니다.
빈 클래스인 경우라도 sizeof 연산자는 0을 결과로 생성하지 않습니다.
sizeof 연산자는 다음의 피연산자와 함께 사용할 수 없습니다.
- 함수 (하지만, 함수의 포인터에는 sizeof를 적용할 수 없음)
- 비트 필드
- 정의되지 않은 클래스
- void 형식입니다.
- 동적으로 할당된 배열
- 외부 배열
- 불완전한 형식
- 괄호로 묶인 불완전한 형식의 이름
sizeof 연산자가 참조에 적용되는 경우 그 결과는 sizeof가 개체 자체에 적용되었을 때와 같습니다.
크기가 지정되지 않은 배열이 구조체의 마지막 요소인 경우 sizeof 연산자는 배열 없는 구조체의 크기를 반환합니다.
sizeof 연산자는 대개 다음과 같은 형태의 식을 통해 배열 내 요소의 개수를 계산하는 데 사용됩니다.
sizeof array / sizeof array[0]
'이론 > C++' 카테고리의 다른 글
STL (Standard Template Library) (0) | 2025.05.11 |
---|---|
C++ 라이브러리 (0) | 2025.05.09 |
string CLASS (0) | 2025.05.09 |
C++ : 자료형, 연산자, 지정자, 생성자, 소멸자 관련 정보 정리 (0) | 2025.05.08 |
C++ : 단축키 모음 (0) | 2025.05.08 |