【C语言指南】数据类型详解(上)——内置类型

           💓 博客主页:倔强的石头的CSDN主页 

           📝Gitee主页:倔强的石头的gitee主页

            ⏩ 文章专栏:《C语言指南》

                                  期待您的关注

 

47f09392526c71b5885ec838a3ea7ffe.gif

 

目录

引言

1. 整型(Integer Types)

2. 浮点型(Floating-Point Types)

3. 字符型(Character Types)

4. 布尔型(Boolean Types,模拟)

 

结语


C语言自定义类型的详解可参考下一篇文章:

【C语言指南】数据类型详解(下)——自定义类型-CSDN博客

 

引言

在C语言的世界里,其内置数据类型是编程世界的基石。这些数据类型由C语言标准直接定义,无需用户额外定义即可直接使用,它们构成了程序中最基本的元素。

 

本文将详细探讨C语言中的内置数据类型,包括整型、浮点型、字符型以及布尔型(虽然C99之前标准C没有直接的布尔类型,但通常使用_Bool或宏定义来模拟),并对每种类型的使用场景、存储方式及注意事项进行详细说明。

1. 整型(Integer Types)

整型用于存储整数值,包括正数、负数和零。

C语言提供了多种整型,以适应不同大小和范围的整数需求。

  • 基本整型(int最常见的整型,其大小和范围取决于编译器和平台。在大多数现代系统上,int通常占用4个字节(32位),能表示的范围大约是-2,147,483,648到2,147,483,647(对于有符号整数)或0到4,294,967,295(对于无符号整数)。

  • 短整型(short 或 short int:比int更小的整型,通常占用2个字节(16位)。其范围也相应减小,适用于需要节省内存空间的场合。

  • 长整型(long 或 long int:比int更大的整型,至少占用4个字节,但在64位系统上通常占用8个字节。long longlong long int是C99标准引入的,用于表示更大的整数,其大小至少为long的两倍。

  • 无符号整型:在基本整型前加unsigned关键字,表示只能存储非负数值。无符号整型能表示的正数范围是有符号整型的两倍(因为不需要表示负数)。

  • 有符号整型与无符号整型的转换:在表达式中混合使用有符号和无符号整型时,有符号整型会被隐式转换为无符号整型,这可能导致意外的结果,特别是当有符号整型值为负数时。

2. 浮点型(Floating-Point Types)

浮点型用于存储带小数点的数值,包括正数、负数和零

C语言提供了三种浮点类型。

  • 单精度浮点型(float:通常占用4个字节,提供大约7位十进制精度的浮点数运算。适合一般精度的科学计算和工程计算。

  • 双精度浮点型(double:至少占用8个字节,提供大约15到17位十进制精度的浮点数运算。是float类型的超集,用于需要更高精度的场合。

  • 扩展精度浮点型(long double:至少与double有相同的精度,但具体实现可能有所不同。在某些平台上,long double可能占用10字节或更多,以提供更高的精度和范围。

 

3. 字符型(Character Types)

字符型用于存储单个字符,如字母、数字或符号。

  • 字符型(char:通常占用1个字节,可以是有符号的(signed char)或无符号的(unsigned char)。默认情况下,char可能是有符号的也可能是无符号的,这取决于编译器和平台。char类型不仅可以用来存储字符,还可以作为小型整数使用,因为字符在计算机内部是以整数形式存储的。

  • 宽字符型(wchar_t:是C99标准引入的,用于表示宽字符(如Unicode字符)。其大小足以存储实现定义的本地环境中的任何字符集中的任何字符。

 

4. 布尔型(Boolean Types,模拟)

虽然C99之前的标准C没有直接的布尔类型,但通常使用_Bool关键字(C99引入)或宏定义(如#define TRUE 1#define FALSE 0)来模拟布尔类型。

从C99开始,<stdbool.h>头文件提供了booltruefalse的定义,使得布尔类型的使用更加直接和方便。

结语

C语言的内置数据类型为程序员提供了丰富的选项来存储和处理各种类型的数据。了解并掌握这些类型,是编写高效、安全C程序的基础。

在后续的文章中,我们将探讨C语言的自定义类型,包括结构体、联合体、位字段以及类型定义(typedef),这些类型将进一步扩展C语言的数据表示能力。

 

自定义类型参考下一篇文章:

【C语言指南】数据类型详解(下)——自定义类型-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1551134.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

atop系统监控工具

atop命令可以看作是top命令的增强版&#xff0c;它可以显示更详细的进程信息&#xff0c;如进程的CPU使用率、进程的内存使用率、进程的I/O使用率、网络使用率等&#xff1b;提供更丰富的统计信息及更灵活的配置&#xff0c;可以通过参数来控制显示内容和行为。 1、top和atop对…

x-cmd pkg | tokei - 代码统计利器,助你快速了解项目进度

目录 简介首次用户技术特点竞品和相关项目进一步阅读 简介 tokei 是一个使用 Rust 编写的显示有关代码统计信息的命令行工具&#xff0c;可以分门别类的统计目录内的代码行数。 tokei 具有良好的跨平台性&#xff0c;可以在 Linux、macOS、Windows 等多种平台上安装运行。 首…

国产长芯微LDC8411数模转换芯片DAC完全P2P替代DAC8411

LDC8411&#xff08;16位&#xff09;器件是低功耗、单通道、电压输出数模转换器&#xff08;DAC&#xff09;。它们提供了出色的线性度&#xff0c;并最大限度地减少了不希望的码间瞬态电压&#xff0c;同时在引脚兼容系列中提供了一条简单的升级路径。所有设备都使用一个多功…

ubuntu切换源方式记录(清华源、中科大源、阿里源)

文章目录 前言一、中科大源二、清华源三、阿里源 前言 记录ubunut切换各个源的方式。 备注&#xff1a;更换源之后使用sudo apt-get update更新索引。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、中科大源 地址&#xff1a;https://mirrors.u…

Shell入门基础学习笔记

目录 第1章 Shell概述 第2章 Shell解析器 第3章 Shell脚本入门 第4章 Shell中的变量 4.1 系统变量 4.2 自定义变量 4.3 特殊变量&#xff1a;$n 4.4 特殊变量&#xff1a;$# 4.5 特殊变量&#xff1a;$*、$ 4.6 特殊变量&#xff1a;$&#xff1f; 第5章 运算符 …

4.模拟电子技术笔记——半导体三极管

写在前面 这个是第四个模电笔记&#xff0c;我们讲半导体三极管 这一章的很多概念都很重要&#xff0c;并且有一些需要记忆的内容&#xff0c;要认真对待 笔记部分 1.半导体三极管的基本原理简述 1.1结构&#xff1a; 1.这个箭头是PN结正向导通方向 2.有两个类型&#xf…

PCL 移动立方体重建(HOPPE)

目录 一、概述二、代码三、结果 一、概述 PCL中的 pcl::MarchingCubes<pcl::PointXYZRGBNormal>:函数实现移动立方体重建的代码示例。 二、代码 #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h> #include <pcl/point…

生成-理解大一统:一文浅谈多模态大模型最新研究进展

在过去几年中&#xff0c;多模态智能的两个关键支柱——理解和生成&#xff0c;取得了显著进展。多模态大型语言模型&#xff08;MLLMs&#xff09;&#xff0c;如 LLaVA&#xff0c;在视觉语言任务&#xff08;例如视觉问答&#xff09;中表现出色。同时&#xff0c;去噪扩散概…

转行AI产品经理前真后悔没看到这篇…

最近AI行业发展势头正盛&#xff0c;很多人私信我说都来问我AI产品经理转行的事&#xff0c;希望我能给一些意见 文科生能不能做产品经理&#xff0c;大家对这些是一头雾水&#xff0c;也不知道AI产品经理具体都做些什么&#xff0c;又要具备那些能力 因为在不同的业务发展不一…

领夹麦克风性价比最高?一文看懂领夹麦克风什么牌子的好

近几年随着网络直播、短视频等新兴行业的发展&#xff0c;筑就了一个全民视频创作的时代。而领夹麦克风也是凭借轻便、便携的特性&#xff0c;获得了广大短视频创作者的青睐&#xff0c;领夹麦克风的需求量也是不断增加。也正是因为如此&#xff0c;如今市面上的领夹麦克风品牌…

一文上手SpringSecurity【八】

RBAC&#xff08;Role-Based Access Control&#xff09;&#xff0c;基于角色的访问控制。通过用户关联角色&#xff0c;角色关联权限&#xff0c;来间接的为用户赋予权限。 一、RBAC介绍 RBAC&#xff08;Role-Based Access Control&#xff09;&#xff0c;即基于角色的访…

企业微信:客户联系自带群发工具和聊天工具

前言 上篇博客介绍了一些客户联系的开启和配置&#xff0c;接下来我们来使用客户联系自带群发工具和聊天工具。 突然发现官方的文档已经很详细了&#xff0c;我这里给出一些简单的描述&#xff1a; 企业微信如何使用群发助手&#xff1f;-帮助中心-企业微信 群发工具 群发消息给…

Python 中的lambda函数表达式

lambda x:xn 这是一个 Python 中的lambda函数表达式。它定义了一个匿名函数&#xff0c;该函数接受一个参数x&#xff0c;并返回xn的值。再定义常数n。 n 5 my_function lambda x: x n print(my_function(3)) 运行结果&#xff1a; 在上述代码中&#xff0c;首先定义了…

win10专业版永久关闭自动更新功能

如何关闭 Windows 10 自动更新 Windows 10 默认情况下会自动安装更新&#xff0c;这可能会导致系统不稳定或问题。如果您想关闭自动更新&#xff0c;可以使用以下方法&#xff1a; 方法 1&#xff1a;使用设置应用程序 打开“设置”应用程序。转到“更新和安全”。在“Windo…

获取本函数所在代码域内的所有局部变量和值以字典形式返回locals()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 获取本函数所在代码域内的 所有局部变量和值 以字典形式返回 locals() 选择题 关于以下代码输出的结果说法正确的是&#xff1f; a 10 def x(): b 20 print(locals()) print("【执行…

TTT大语言模型架构发布,成功撼动了Transformer与Mamba模型

上期图文&#xff0c;我们刚介绍了 transformer 模型与 Mamba 模型&#xff0c;觉得 Mamba 模型的发布可以有效改善 transformer 模型长序列输入复杂度的问题&#xff0c;应该能够成为下一个大语言模型的基石。谁想Mamba2 还没有发布几天&#xff0c;这边最新的大语言模型TTT模…

隆道携手黑龙江省中小企业协会助力区域企业数字化转型

9月28日&#xff0c;隆道公司总裁吴树贵出席“2024年黑龙江省中小企业协会副会长扩大会议暨数字化转型专题报告会”并做主题发言&#xff0c;分享了龙江惠企商城建设情况和供应链数字化转型实践经验。会上&#xff0c;隆道公司与黑龙江省中小企业协会签订了战略合作协议&#x…

【Kubernetes知识点】 解读 Service 和 EndpointSlice 之间的关系

【Kubernetes知识点】 解读 Service 和 EndpointSlice 之间的关系 目录 1 概念 1.1 Service的概念1.2 Endpoint 的概念1.3 EndpointSlice 的引入 1.3.1 EndpointSlice支持的地址1.3.2 EndpointSlice的状态1.3.3 EndpointSlice的拓扑信息 1.4 Service 、Endpoint和 EndpointSl…

自动驾驶TPM技术杂谈 ———— 高精度地图

文章目录 概述高精度地图分层架构价值体现 关键技术道路元素图像处理激光点云处理点云特征提取点云法向量点云配准点云分割 同步定位与地图构建高精度地图云端服务体系 解决方案高精度地图采集数据模型 高精度地图制作和编译数据处理编译及格式规范NDSOpenDRIVE 高精度地图质量…

入职2年的程序员,被劝退了!年纪大了,感觉好绝望!

入职2年的程序员&#xff0c;今天被劝退了&#xff01;年纪大了&#xff0c;感觉好绝望&#xff01; 我的朋友是一位程序员&#xff0c;毕业后去了BAT企业&#xff0c;前2年去了一家国企&#xff0c;至今刚满2年&#xff0c;刚进去绩效领导给打了C&#xff0c;现在被边缘化&…