代码
/**
* 基本数据类型
*/
#include <stdio.h>
#include <limits.h> /* 定义 32 位时的 long 与 unsigned long 取值范围 */
#define LONG_MIN_32 -2147483648L
#define LONG_MAX_32 2147483647L
#define ULONG_MAX_32 4294967295UL int main(int argc, char *argv[]) {
// short
printf("short 取值范围为 %d ~ %d, 占 %d 个字节\n", SHRT_MIN, SHRT_MAX, sizeof(short)); // short 取值范围为 -32768 ~ 32767, 占 2 个字节
// unsigned short
printf("unsigned short 取值范围为 0 ~ %u, 占 %d 个字节\n", USHRT_MAX, sizeof(unsigned short)); // unsigned short 取值范围为 0 ~ 65535, 占 2 个字节
// int
printf("int 取值范围为 %d ~ %d, 占 %d 个字节\n", INT_MIN, INT_MAX, sizeof(int)); // int 取值范围为 -2147483648 ~ 2147483647, 占 4 个字节
// unsigned int
printf("unsigned int 取值范围为 0 ~ %u, 占 %d 个字节\n", UINT_MAX, sizeof(unsigned int)); // unsigned int 取值范围为 0 ~ 4294967295, 占 4 个字节
printf("__WORDSIZE(字的大小)为 %d 个位\n", __WORDSIZE);
// 根据__WORDSIZE的值决定long/unsigned long取值范围
// 64 位
// long
printf("__WORDSIZE 为 64 位时, long 取值范围为 %ld ~ %ld, 占 %d 个字节\n", LONG_MIN, LONG_MAX, sizeof(long)); // __WORDSIZE 为 64 位时, long 取值范围为 -9223372036854775808 ~ 9223372036854775807, 占 8 个字节
// unsigned long
printf("__WORDSIZE 为 64 位时, unsigned long 取值范围为 0 ~ %lu, 占 %d 个字节\n", ULONG_MAX, sizeof(unsigned long)); // __WORDSIZE 为 64 位时, unsigned long 取值范围为 0 ~ 18446744073709551615, 占 8 个字节
// 32 位
// long
printf("__WORDSIZE 为 32 位时, long 取值范围为 %ld ~ %ld, 占 4 个字节\n", LONG_MIN_32, LONG_MAX_32); // __WORDSIZE 为 32 位时, long 取值范围为 -2147483648 ~ 2147483647, 占 4 个字节
// unsigned long
printf("__WORDSIZE 为 32 位时, unsigned long 取值范围为 0 ~ %lu, 占 4 个字节\n", ULONG_MAX_32); // __WORDSIZE 为 32 位时, unsigned long 取值范围为 0 ~ 4294967295, 占 4 个字节
// long long
printf("long long 取值范围为 %lld ~ %lld, 占 %d 个字节\n", LLONG_MIN, LLONG_MAX, sizeof(long long)); // long long 取值范围为 -9223372036854775808 ~ 9223372036854775807, 占 8 个字节
// unsigned long long
printf("unsigned long long 取值范围为 0 ~ %llu, 占 %d 个字节\n", ULLONG_MAX, sizeof(unsigned long long)); // unsigned long long 取值范围为 0 ~ 18446744073709551615, 占 8 个字节
// char
printf("char 取值范围为 %d ~ %d, 占 %d 个字节\n", SCHAR_MIN, SCHAR_MAX, sizeof(char)); // char 取值范围为 -128 ~ 127, 占 1 个字节
// unsigned char
printf("unsigned char 取值范围为 0 ~ %u, 占 %d 个字节\n", UCHAR_MAX, sizeof(unsigned char)); // unsigned char 取值范围为 0 ~ 255, 占 1 个字节
// float
printf("float 占 %d 个字节\n", sizeof(float)); // float 占 4 个字节
// double
printf("double 占 %d 个字节\n", sizeof(double)); // double 占 8 个字节
// long double
printf("long double 占 %d 个字节\n", sizeof(long double)); // long double 占 16 个字节
}
思维导图

C的基本数据类型小结的更多相关文章

  1. JavaScript 数据类型小结

    数据类型对于机器而言,其意义在于更加合理的分配内存空间,而对于编程者而言,数据类型提供了我们相对应的一系列方法,对数据进行分析与处理. 在本文中,将对JavaScript数据类型的基础知识进行总结,全 ...

  2. MySQL常用数据类型小结

    在 MySQL 中,有三种主要的类型:字符串.数字和日期/时间类型. 目录 [隐藏]  1 字符串类型 2 数值类型 3 日期和时间类型 4 使用建议 5 艺搜参考 字符串类型 CHAR 0-255字 ...

  3. JS中的数据类型小结

    首先说说JS数据类型的分类.分为标准型和typeof类型(即控制台打印,浏览器区分) 标准型:基本类型中有:number.string.boolean.undefined.null  复合类型:obj ...

  4. Redis -- 数据类型小结

    redis key 的命名规则: 对象类型:对象id:对象属性  (hset car:1: price 500.hset car:1: name:tom) 一.redis 数据类型: 1. 字符串类型 ...

  5. python数据类型小结

    变量 变量是 为了存储程序 运算过程中的一些中间结果,为了方便日后调用. 变量的命名规则1.要有描述性2.变量名只能_,数字,字母组成,不可以是特殊字符(#)3.不能以中文为变量名4.不能以数字开头5 ...

  6. Java基础数据类型小结

    1.      记忆中的数据类型: 记忆中java一共有八种基础数据:boolean,byte,char,int,long,float,double,还有一种记不起来. 他们的长度分别为: 他们的用处 ...

  7. PHP 八种基本的数据类型小结

    四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: array (数组) object (对 ...

  8. 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结

    PL/SQL语法 PL/SQL程序由三部分组成,声明部分.执行部分.异常处理部分. 模板: DECLARE /*变量声明*/ BEGIN /*程序主体*/ EXCEPTION /*异常处理部分*/ E ...

  9. 14、redis安装及数据类型

    14.0.服务器配置: 服务器名称 ip地址 controller-node1 172.16.1.90 14.1.什么是redis: 1.redis的特点: (1)redis是一个开源的使用c语言编写 ...

随机推荐

  1. Freeswitch Tutorial

    I. Install Freeswitch 1) FreeSWITCH Explained https://freeswitch.org/confluence/ https://freeswitch. ...

  2. 64-基于TMS320C6455、XC5VSX95T 的6U CPCI无线通信处理平台

    基于TMS320C6455.XC5VSX95T 的6U CPCI无线通信处理平台   1. 板卡概述 本板卡由我公司自主研发,基于CPCI架构,符合PICMG2.0 D3.0标准,包含双TI TMS3 ...

  3. Shell04--循环语句

    目录 Shell04---循环语句 1. 循环语句for基本概述 2. 循环语句for场景示例 3. 循环语句while基本概述 4. 循环语句while场景示例 5. 内置跳出循环语句指令 Shel ...

  4. 【Leetcode周赛】从contest-91开始。(一般是10个contest写一篇文章)

    Contest 91 (2018年10月24日,周三) 链接:https://leetcode.com/contest/weekly-contest-91/ 模拟比赛情况记录:第一题柠檬摊的那题6分钟 ...

  5. 【串线篇】Mybatis之SSM整合

    SSM:Spring+SpringMVC+MyBatis 建立Java web项目 一.导包 1).Spring: [aop核心] com.springsource.net.sf.cglib-2.2. ...

  6. Eclipse中 Run as --->Maven build 命令详解

    Maven Build  Goals: clean  清除编译,compile  编译,test  编译并测试,install 打包并发送到本地仓库,package 只是打成jar包,并不会发送到本地 ...

  7. PWN入门的入门——工具安装

    安装pwntool: 命令行运行: pip install pwntools python import pwn pwn.asm("xor eax,eax") 出现'1\xc0'  ...

  8. vue数据渲染、条件判断及列表循环

    1.数据渲染  {{msg}} <template> <div id="app"> {{msg}} </div> </template&g ...

  9. php面试专题---4、流程控制考点

    php面试专题---4.流程控制考点 一.总结 一句话总结: 理解循环内部机制(指针操作),更易于记忆foreach的reset特性,分支结构中理解了switch...case的执行步骤(跳转表)也就 ...

  10. python,mock-server之moco

    python,mock-server之moco1.mock使用:mock除了用在单元测试过程中,还有一个用途,当前端开发在开发页面的时候,需要服务端提供API接口,此时服务端没开发完成,或者说没搭建测 ...