sizeof函数的用法:
1、sizeof()函数是用来计算变量所占内存空间的大小,单位是字节(byte)
举例如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//sizeof函数的用法
//sizeof()函数是用来计算变量所占内存空间的大小,单位是字节
int main()
{
int a = 6; //int为整形
char b = 'c'; // char为字符型
int* p = &a; // int* 为指针类型
int arr[6] = { 0 }; // int arr[]为整形数组
//sizeof()函数计算变量所占内存空间的大小,单位是字节
printf("%d\n", sizeof(a)); //4
printf("%d\n", sizeof a); //4
printf("%d\n", sizeof (int)); //4 (int)括号不能省
printf("%d\n",sizeof b); //1
printf("%d\n", sizeof (char)); //1
printf("%d\n",sizeof(int*)); //4 只要是指针类型,32位系统为4个字节,64位系统为8个字节
printf("%d\n", sizeof(p)); //4
printf("%d\n", sizeof(arr)); //6*4=24(6表示有6个字符,4表示int类型占4个字节)
printf("%d\n", sizeof (int[6])); // 6*4=24,去掉数组名arr就是该整数数组的类型,即int[6]
return 0;
}
执行结果如下:
2、sizeof()括号里面的表达式不参与运算;
例如:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
short s = 6;
int a = 4;
//sizeof()括号里面的表达式不参与运算
printf("%d\n", sizeof(s = a + 10)); //2 因为s为short类型占2个字节,所以输出为2
printf("s = %d\n", s); //sizeof(s = a + 10)里面s = a + 10不参与运算,所以输出为6
return 0;
}
执行结果如下: