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;
- }
执行结果如下: