【2月更文挑战第3天】C数据类型

简介: 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

C 数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

C 中的类型可分为以下几种:
image.png
数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。在本章节接下来的部分我们将介绍基本类型,其他几种类型会在后边几个章节中进行讲解。

整数类型
下表列出了关于标准整数类型的存储大小和值范围的细节:
image.png
注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。

以下列出了32位系统与64位系统的存储大小的差别(windows 相同):
image.png
为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。下面的实例演示了获取 int 类型的大小:

实例:

#include <stdio.h>
#include <limits.h>

int main()
{
   
   
   printf("int 存储大小 : %lu \n", sizeof(int));

   return 0;
}

%lu 为 32 位无符号整数,详细说明查看 C 库函数 - printf()。

当您在 Linux 上编译并执行上面的程序时,它会产生下列结果:

int 存储大小 : 4

浮点类型
下表列出了关于标准浮点类型的存储大小、值范围和精度的细节:
image.png
头文件 float.h 定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将输出浮点类型占用的存储空间以及它的范围值:

实例:

#include <stdio.h>
#include <float.h>

int main()
{
   
   
   printf("float 存储最大字节数 : %lu \n", sizeof(float));
   printf("float 最小值: %E\n", FLT_MIN );
   printf("float 最大值: %E\n", FLT_MAX );
   printf("精度值: %d\n", FLT_DIG );

   return 0;
}

%E 为以指数形式输出单、双精度实数,详细说明查看 C 库函数 - printf()。

当您在 Linux 上编译并执行上面的程序时,它会产生下列结果:

float 存储最大字节数 : 4 
float 最小值: 1.175494E-38
float 最大值: 3.402823E+38
精度值: 6

void 类型
void 类型指定没有可用的值。它通常用于以下三种情况下:
image.png

目录
相关文章
|
8天前
|
存储 大数据 数据安全/隐私保护
【专栏】带你了解 S3 背后的故事,为我们的数字世界提供坚实的存储基础
【4月更文挑战第28天】S3,亚马逊的简单存储服务协议,是云存储的事实标准,以其易用、高效和可靠的对象存储闻名。核心概念包括桶(存储单元)、对象(独立数据实体)和区域(地理分布)。S3 提供弹性存储、高可用性、数据安全和成本效益,广泛应用于备份、大数据、网站存储等。其成功推动了云存储市场发展,促进了数据存储创新,成为云存储领域不可或缺的部分。
|
8天前
|
自然语言处理 Java 索引
BoolQueryBuilder 查询name 为liming的记录 【4月更文挑战第3天】
如果你需要使用Elasticsearch的BoolQueryBuilder来查询name字段精确为"liming"的记录,你可以简单地使用TermQueryBuilder来实现。TermQuery用于精确匹配文档的一个字段。这种查询非常适合用于不分词的字符串字段(例如keyword类型的字段)或者数字、日期等类型的字段。 以下是使用BoolQueryBuilder和TermQueryBuilder查询name字段为"liming"的Java代码示例: java Copy code import org.elasticsearch.index.query.BoolQueryBuilder;
|
8天前
|
SQL 数据库 数据安全/隐私保护
[极客大挑战 2019]LoveSQL1 题目分析与详解
[极客大挑战 2019]LoveSQL1 题目分析与详解
|
8天前
|
编译器 C语言
【2月更文挑战第2天】C基本语法
C 中的空格 只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。 在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中: int age; 在这里,int 和 age 之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中: fruit = apples + oranges; // 获取水果的总数 fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的,但是为了增强可读性,您可以根
17 4
|
8天前
|
编译器 C语言 Windows
【2月更文挑战第1篇】C程序结构
C 程序结构 在我们学习 C 语言的基本构建块之前,让我们先来看看一个最小的 C 程序结构,在接下来的章节中可以以此作为参考。 C Hello World 实例 C 程序主要包括以下部分: 预处理器指令 函数 变量 语句 & 表达式 注释 让我们看一段简单的代码,可以输出单词 "Hello World": 实例: ```c #include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n"); return 0; } ``` 接下来我们讲解一下上面这段程序: 程序的第一
20 1
|
6月前
极客大挑战--hardsql
极客大挑战--hardsql
23 0
|
机器学习/深度学习 SQL 人工智能
刚刚,ChatGPT官宣数学能力再升级,网友:终于精通十以内加减法了
刚刚,ChatGPT官宣数学能力再升级,网友:终于精通十以内加减法了
158 0
|
存储 Java
从字节码讲解i++和++i的区别|8月更文挑战
从字节码讲解i++和++i的区别,i++真的是先赋值再运算吗?让我们从底层一探究竟,彻底弄明白i++和++i的运算过程。
138 0
从字节码讲解i++和++i的区别|8月更文挑战
|
存储 前端开发 JavaScript
“四说闭包” 惊艳面试官|8月更文挑战
先说闭包是什么,在说函数的创建和执行看闭包(引述:堆栈、EC、AO、VO、scope),然后说闭包的作用以及在项目中的引用场景,以及带来的问题,最后说闭包引发的高级编程技巧,在框架源码中的使用,或者自己写类库的怎么使用
95 0
|
前端开发 测试技术
【类型挑战】Awaited,难度⭐️
【类型挑战】Awaited,难度⭐️
106 0
【类型挑战】Awaited,难度⭐️

热门文章

最新文章