【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

目录
相关文章
|
4月前
|
存储 安全 数据库连接
C#深度揭秘:常量的魅力和实践,一文让你从新手到专家
C#深度揭秘:常量的魅力和实践,一文让你从新手到专家
40 0
|
7天前
|
Python
【8月更文挑战第23天】
【8月更文挑战第23天】 【8月更文挑战第23天】
18 0
|
2月前
|
算法 开发者
编码之路:从新手到专家的旅程
【7月更文挑战第30天】在编程的世界里,每个新手都渴望成为专家。本文将通过个人经验分享,探讨如何从编程新手成长为技术专家的过程。我们将深入讨论学习策略、实践技巧、以及持续成长的重要性,旨在为那些立志于技术领域深耕的初学者提供一份实用的成长指南。
15 1
|
3月前
|
存储 C++
技术经验分享:C各个类型的大小
技术经验分享:C各个类型的大小
12 0
|
3月前
|
C语言 C++
技术经验分享:c++中的数据类型转换
技术经验分享:c++中的数据类型转换
14 0
|
4月前
|
SQL 数据库 数据安全/隐私保护
[极客大挑战 2019]LoveSQL1 题目分析与详解
[极客大挑战 2019]LoveSQL1 题目分析与详解
|
4月前
|
编译器 C语言
【2月更文挑战第2天】C基本语法
C 中的空格 只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。 在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中: int age; 在这里,int 和 age 之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中: fruit = apples + oranges; // 获取水果的总数 fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的,但是为了增强可读性,您可以根
24 4
|
机器学习/深度学习 存储 人工智能
聊一聊AI有哪四种类型
反应性机器在AI中是一个非常受欢迎的概念。这是因为它是最基本也是最古老的AI类型。反应性机器是指仅对某些刺激和场景有反应性的机器。与之后的许多人工智能软件不同的是,它们不能利用以前的经验或负载的知识来评估和应对特定的情况。甚至不使用GPS或数字地图来导航周围的环境或绘制路线。相反,它们会根据所看到的东西移动。
聊一聊AI有哪四种类型
|
Web App开发 API
FreeCodeCamp经典题目(收银机)| 8月更文挑战
FreeCodeCamp经典题目(收银机)| 8月更文挑战
188 0
FreeCodeCamp经典题目(收银机)| 8月更文挑战
给一位想建网站但自己不是太懂所提出的几个问题的几点回复
今天在一个论坛平台上看到了这样几个问题,一以下是问题及我的回复: 现在要建个网站,请问高手1、从哪买域名和主机又好用又便宜?2、公司网站一定要以公司名义买还是可以用法人?股东?不相干的人?我就是不相干的人3、香港主机好还是内地主机好?之前建了个网站用的是香港主机,因为内地主机要备案,怕麻烦。
1790 0