C的基本数据类型小结
代码
/**
* 基本数据类型
*/
#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的基本数据类型小结的更多相关文章
- JavaScript 数据类型小结
数据类型对于机器而言,其意义在于更加合理的分配内存空间,而对于编程者而言,数据类型提供了我们相对应的一系列方法,对数据进行分析与处理. 在本文中,将对JavaScript数据类型的基础知识进行总结,全 ...
- MySQL常用数据类型小结
在 MySQL 中,有三种主要的类型:字符串.数字和日期/时间类型. 目录 [隐藏] 1 字符串类型 2 数值类型 3 日期和时间类型 4 使用建议 5 艺搜参考 字符串类型 CHAR 0-255字 ...
- JS中的数据类型小结
首先说说JS数据类型的分类.分为标准型和typeof类型(即控制台打印,浏览器区分) 标准型:基本类型中有:number.string.boolean.undefined.null 复合类型:obj ...
- Redis -- 数据类型小结
redis key 的命名规则: 对象类型:对象id:对象属性 (hset car:1: price 500.hset car:1: name:tom) 一.redis 数据类型: 1. 字符串类型 ...
- python数据类型小结
变量 变量是 为了存储程序 运算过程中的一些中间结果,为了方便日后调用. 变量的命名规则1.要有描述性2.变量名只能_,数字,字母组成,不可以是特殊字符(#)3.不能以中文为变量名4.不能以数字开头5 ...
- Java基础数据类型小结
1. 记忆中的数据类型: 记忆中java一共有八种基础数据:boolean,byte,char,int,long,float,double,还有一种记不起来. 他们的长度分别为: 他们的用处 ...
- PHP 八种基本的数据类型小结
四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: array (数组) object (对 ...
- 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结
PL/SQL语法 PL/SQL程序由三部分组成,声明部分.执行部分.异常处理部分. 模板: DECLARE /*变量声明*/ BEGIN /*程序主体*/ EXCEPTION /*异常处理部分*/ E ...
- 14、redis安装及数据类型
14.0.服务器配置: 服务器名称 ip地址 controller-node1 172.16.1.90 14.1.什么是redis: 1.redis的特点: (1)redis是一个开源的使用c语言编写 ...
随机推荐
- Dev控件
在DevExpress程序中使用PopupContainerEdit和PopupContainer实现数据展示 使用PopupContainerEdit和PopupContainerControl制作 ...
- angular 组件通信
单页面应用组件通信有以下几种,这篇文章主要讲 Angular 通信 父组件 => 子组件 子组件 => 父组件 组件A = > 组件B 父组件 => 子组件 子组件 => ...
- 9.Markdown语法(自用)——2019年12月12日
title: markdown语法说明 date: "2018-12-26 20:17:16" tags: 技术指令 categories: 技术驿站 markdown语法说明 2 ...
- Kettle数据同步速度调优记录
Msyql到Vertica 1.mysql中在openshop 数据库中选择其中一个300W左右数据的表 create table ip_records_tmp_01 AS SELECT * FROM ...
- Unit Testing of Classes in Java
Every class can have a main method. That is a handy trick for unit testing of classes. For example, ...
- SQL_2008安装教程(完整版)
Win 7 win xp系统中SQL2008安装注意事项一:SQL2008 镜像下载地址 http://download.microsoft.com/download/4/C/4/4C402E48-0 ...
- BZOJ 2761: [JLOI2011]不重复数字 set
Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 ...
- qt编程参考资料
https://qtguide.ustclug.org/
- 7.zabbix常用item
zabbix常用item zabbix常用item vfs.file.md5sum[/etc/crontab] {basic:vfs.file.md5sum[/etc/crontab].diff()} ...
- junit中配置log4j日志
在对项目单元测试的时候,有时候会使用log4j来打印日志,这个时候需要对log4j进行配置. 声明和继承SpringJUnit4ClassRunner类,在这个类中对log4j的配置文件进行加载. p ...