English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C를 사용하여 ++자신의 sizeof 연산자를 구현

귀하의sizeof()연산자를 구현할 수 있습니다. 이 연산자는sizeof()단일 연산자로, 어떤 타입의 데이터의 크기를 계산하는 데 사용됩니다. 우리는 #define 명령어를 사용하여 우리 자신의sizeof()연산자, 이 연산자는sizeof()자신의 연산자를 구현하는 방법과 완전히 동일합니다.

귀하의sizeof()연산자 문법,

#define Any_name(object) (char *)(&object+1) - (char *)(object)

여기서는

Any_name-귀하의sizeof()연산자 이름입니다.

이것은sizeof()C 언어로 연산자를 구현한 예제

예제

#include <stdio.h>
#define to_find_size(object) (char *)(&object+1) - (char *)(object)
int main() {
   int x;
   char a[50];
   printf("Integer size : %d\n", to_find_size(x));
   printf("Character size : %d\n", to_find_size(a));
   return 0;
}

출력 결과

Integer size : 4
Character size : 50

위 프로그램에서는 #define 명령어를 사용하여 우리 자신의sizeof()산술 연산자, 이는 정수와 문자형 배열의 크기를 계산하고 있습니다.

#define to_find_size(object) (char *)(&object+1) - (char *)(object)
...
int x;
char a[50];
printf("Integer size : %d\n", to_find_size(x));
printf("Character size : %d\n", to_find_size(a));