#include <stdio.h>
int main() {
char num1 = 1, num2 = 3, result1 = 0;
short num3 = 300,num4 = 400, result2 = 0;
printf("size of num1&num2:%d %d \n", sizeof(num1), sizeof(num1));
printf("size of num3&num4:%d %d \n", sizeof(num3), sizeof(num4));
printf("size of char add %d\n", sizeof(num1 + num2));
printf("size of short add %d\n", sizeof(num2 + num3));
result1 = num1 + num2;
result2 = num3 + num4;
printf("sizeof result1&result2:%d %d\n", sizeof(result1), sizeof(result2));
return 0;
}
결과
num1 과 num2의 합을 계산 ,그결과로 반환되는 값(4)을 대상으로 sizeof연산:int가 기본 연산단위여서 int형으로 변환되어 계산됨, sizeof 연산의 반환값을 대상으로 printf 함수를 호출 결과:반환값 :4
result1=num1+num2; ->값을 저장시에는 각자의 바이트로 돌아감
result2=num3+num4;
따라서 result1,2의 sizeof연산 값은 1,2
int는 연산속도를 중시하때, char,short는 데이터 크기 감소를 중시할때 사용.