代码
/**
* 基本数据类型
*/
#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. pylint在pycharm的使用及pylint的配置

    pylint作为python代码风格检查工具,接近 PEP8风格,在使用此方法的过程中,发现不仅能让代码更加规范,优雅,更能 发现 隐藏的bug. pylint在Pycharm中的2种安装方式: 第一 ...

  2. Codeforces Round #420 (Div. 2) - B

    题目链接:http://codeforces.com/contest/821/problem/B 题意:二维每个整点坐标(x,y)拥有的香蕉数量为x+y,现在给你一个直线方程的m和b参数,让你找一个位 ...

  3. ResourceBundle读取配置文件

    import java.util.ResourceBundle; /** * Created by win7 on 2017/5/20. */public class Test1 { public s ...

  4. MySQL MHA + Ifconfig管理vip

    前期的安装步骤,还是参照:http://www.cnblogs.com/yiyuf/p/4104354.html进行,只需要把appxxx.cnf中定义的相关.sh脚本(如:master_ip_fai ...

  5. SpringBoot集成H2database

    转载:https://blog.csdn.net/chenhao_c_h/article/details/80332260 h2database为我们提供了十分轻量,十分快捷方便的内嵌式数据库 H2是 ...

  6. Python 无法安装PyAudio问题

    一.错误与原因 在Windows上没有用于Python 3.7的轮子(预构建包)(有一个用于Python 2.7和3.4到3.6),因此需要在PC上准备构建环境以使用此包.因为有些软件包很难在Wind ...

  7. Centos7.4 修改selinux错误导致服务器起不来

    [root@node10 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # ...

  8. 如何在pycharm中进入shell脚本调试代码

    首先在Teramal终端 输入python manage.py shell 然后进行下图操作来调试代码

  9. spark streaming简单示例

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  10. 【Vue】新版vue解决跨域问题

    vue.config.js module.exports = { devServer: { proxy: { "/api": { target: "http://192. ...