一、数据类型
sizeof 运算符
目标:会查看变量、类型占用内存大小
每种数据类型,都有自己固定的占用内存大小和取值范围。具体展开讲解前,我们先来看下,C 语言提供的查看变量或类型占用内存大小的运算符,sizeof。
语法 1:sizeof(变量名)
int a = 10;
printf("%llu\n", sizeof(a));//sizeof(a) 获取 a 变量占用内存大小。可以用 printf 显示出来
// 查看 sizeof 返回的占用内存大小,需要使用 %llu 格式符
语法 2:sizeof(类型名)
printf("%llu\n", sizeof(double)); // 也可以使用
sizeof 直接查看某种类型占用的内存大小
数值型
整型
目标:选择用不同类型存整数
基础信息

上表中列出的占用字节和取值范围,是大多数情况下各种类型的取值。
由于,C标准没有具体规则以上各类数据所占用的字节数。因此,在不同系统、编译器下,数据类型占用的字节数会所有不同。
比如:int类型,在Turbo C环境占2字节,取值范围与short相同。而在Visual C环境下是4字节。
再如:long类型,相同gcc编译器下,在Windows系统中占4字节,而在Linux系统中占8字节。
可以使用sizeof查看数据类型占用内存的大小。
可以引入头文件#include <limits.h> 借助宏来查看 数据类型 在当前平台上 对应的最小、最大值。
#include <stdio.h>
#include <limits.h>
int main(void)
{
printf("short 大小 = %llu\n", sizeof(short));
printf("short 最小值 = %hd, 最大值 = %hd\n", SHRT_MIN, SHRT_MAX);
printf("unsigned short 最小值 = 0 最大值 = %hu\n", USHRT_MAX);
printf("\n");
printf("int 大小 = %llu\n", sizeof(int));
printf("int 最小值 = %d,最大值 = %d\n", INT_MIN, INT_MAX);
printf("unsigned int 最小值 = 0, 最大值 = %u\n", UINT_MAX);
printf("\n");
printf("long 大小 = %llu\n", sizeof(long));
printf("long 最小值 = %ld, 最大值 = %ld\n", LONG_MIN, LONG_MAX);
printf("unsigned long 最小值

最低0.47元/天 解锁文章
761

被折叠的 条评论
为什么被折叠?



