当前位置: 首页 > news >正文

【C语言基础】那些你可能不知道的C语言“潜规则”

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录

  • 什么是UL?
  • C语言还有哪些后缀
  • U08、U16、U32
  • h\b\d\o
  • inc和src文件夹


什么是UL?

在C语言中,UL 是一个后缀,用于表示无符号长整型(unsigned long)。UL 的作用是告诉编译器将一个整数常量指定为无符号长整型。
例如,使用 100UL 表示一个无符号长整型的整数常量。UL 表示unsigned long,确保编译器将该常量解释为无符号的长整型而不是有符号的长整型。
UL 的使用通常在需要显式指定无符号长整型时,比如与无符号长整型变量进行计算或者与其他无符号整数常量进行比较等。
下面是一些示例:

unsigned long num1 = 100UL;   // 使用UL后缀来指定num1为无符号长整型
unsigned long num2 = num1 + 200UL;   // 使用UL后缀来指定200为无符号长整型unsigned long num3 = sizeof(unsigned long) * 8UL;   // 使用UL后缀来指定8为无符号长整型

需要注意的是,在使用UL后缀时,UL 字母可以是大写或小写,效果是一样的。UL 后缀只是为了明确地告诉编译器数据类型,可以根据实际需要选择使用。

C语言还有哪些后缀

在C语言中,还有一些其他的后缀用于表示不同的数据类型。以下是一些常用的后缀:
1. U 表示无符号整型(unsigned),比如使用 10U 表示无符号整数常量。
2. L 表示长整型(long),比如使用 100L 表示长整数常量。
3. LL 表示长长整型(long long),比如使用 100LL 表示长长整数常量。
4. F 表示单精度浮点数(float),比如使用 3.14F 表示单精度浮点数常量。
5. UL, ULL, LU, LLU 用于表示无符号长整型(unsigned long)或无符号长长整型(unsigned long long),比如使用 100UL 表示无符号长整数常量。

这些后缀用于在整数或浮点数常量中显式指定其数据类型,以确保编译器正确地解析和处理这些常量。在没有指定后缀的情况下,编译器会根据上下文和默认规则进行推断。
需要注意的是,后缀的大小写是不敏感的,比如 u 和 U 是等效的, f 和 F 是等效的。但是,为了代码可读性和一致性,建议尽量保持一致,并使用大写后缀。
请注意,不同的数据类型可能有不同的后缀,具体使用哪些后缀应参考特定编程语言的规范和编译器的要求。

U08、U16、U32

U08对应b,U16对应w,U32对应d。含义:
在计算机领域中,U08、U16 和 U32 是无符号整数的位数表示。这些位数表示了整数的存储空间或大小。
- U08 表示无符号 8 位整数,也即一个字节大小。通常用于表示范围在 0 到 255 的整数。
- U16 表示无符号 16 位整数,也即两个字节大小。通常用于表示范围在 0 到 65535 的整数。
- U32 表示无符号 32 位整数,也即四个字节大小。通常用于表示范围在 0 到约 42 亿的整数。
另外,你提到的 b、w 和 d 是一种常见的表示方法,特指在汇编语言中用于标识字节(byte)、字(word)和双字(double word)的大小:
- b 表示字节大小(8 位)。
- w 表示字大小(16 位)。
- d 表示双字大小(32 位)。
因此,U08 可以对应于 b,U16 可以对应于 w,U32 可以对应于 d,这种对应关系主要用于指示数据类型在汇编语言中的大小和操作。

h\b\d\o

hexadecimal,缩写hex:翻译为十六进制
binary,缩写bin:二进制
decimalism,缩写dec:十进制
octonary,缩写Oct:八进制

inc和src文件夹

inc文件夹(或include文件夹);inc文件夹(或include文件夹)

相关文章:

【C语言基础】那些你可能不知道的C语言“潜规则”

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...

android framework之Applicataion启动流程分析(三)

现在再回顾一下Application的启动流程,总的来说,虽然进程的发起是由ATMS服务发起的,但是进程的启动还是由AMS负责,所以需要调用AMS的startProcess()接口完成进程启动流程,AMS要处理的事情很多,它将事务交给…...

使用Scrapy框架集成Selenium实现高效爬虫

引言: 在网络爬虫的开发中,有时候我们需要处理一些JavaScript动态生成的内容或进行一些复杂的操作,这时候传统的基于请求和响应的爬虫框架就显得力不从心了。为了解决这个问题,我们可以使用Scrapy框架集成Selenium来实现高效的爬…...

Maven 和 Gradle 官方文档及相关资料的网址集合

文章目录 官方MavenGradle 笔者MavenGradle 官方 Maven Maven 仓库依赖包官方查询通道:https://mvnrepository.com/ Maven 插件官方文档:https://maven.apache.org/plugins/ 安卓依赖包官方查询通道*:https://maven.google.com/web/ Gra…...

docker概念、安装与卸载

第一章 docker概念 Docker 是一个开源的应用容器引擎。 Docker 诞生于2013年初,基于 Go 语言实现,dotCloud 公司出品,后改名为 Docker Inc。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发…...

elasticsearch访问9200端口 提示需要登陆

项目场景: 提示:这里简述项目相关背景: elasticsearch访问9200端口 提示需要登陆 问题描述 提示:这里描述项目中遇到的问题: 在E:\elasticsearch-8.9.1-windows-x86_64\elasticsearch-8.9.1\bin目录下输入命令 ela…...

【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值

目录 一、前言 二、实验环境 三、Python基本数据类型 1. 数字 a. 整数(int) b. 浮点数(float) c. 运算 运算符 增强操作符 代码整合 d. 运算中的类型转换 e. 运算函数abs、max、min、int、float 2. 布尔值&#xff08…...

无swing,高级javaSE毕业之贪吃蛇游戏(含模块构建,多线程监听服务)

JavaSE,无框架实现贪吃蛇 文章目录 JavaSE,无框架实现贪吃蛇1.整体思考2.可能的难点思考2.1 如何表示游戏界面2.2 如何渲染游戏界面2.3 如何让游戏动起来2.4 蛇如何移动 3.流程图制作4.模块划分5.模块完善5.0常量优化5.1监听键盘服务i.输入存储ii.键盘监…...

HDD-FAT32 ZIP-FAT32 HDD-FAT16 ZIP-FAT16 HDD-NTFS

FAT32、FAT16指的是分区格式, FAT16单个文件最大2G FAT32单个文件最大4G NTFS单个文件大于4G HDD是硬盘启动 ZIP是软盘启动 U盘选HDD HDD-NTFS...

王道数据结构编程题 二叉树

二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };非递归后序遍历 题目描述 编写后序遍历二叉树的非递…...

登录怎么实现的,密码加密了嘛?使用明文还是暗文,知道怎么加密嘛?

在Java中登录功能的实现通常包括以下步骤,其中密码应该以加密形式存储在数据库中,而不以明文形式存储,以增强安全性: 登录功能的实现步骤: 用户输入: 用户在登录页面上输入用户名和密码。 传输到服务器&a…...

Nginx和Tomcat负载均衡实现session共享

以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架。 此框架的优势: 1、支持Tomcat6和Tomcat7 2、操作粘性或不黏性Session 3、没有单点故障 4、T…...

【算法题】210. 课程表 II

题目: 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如,想要学习课程 0 ,…...

“数据类型不一致”会走索引吗?

分析&回答 字符串类型的索引 id_1 varchar(20) NOT NULL这样下面两条语句的结果是一样的: SELECT * FROM ix_test WHERE id_11; SELECT * FROM ix_test WHERE id_11;执行计划是不同的: mysql> explain select * from ix_test where id_11; | 1 …...

Leetcode 1572.矩阵对角线元素之和

给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出:25 解释:对角线的和为&#xff…...

[PG]将一行数据打散成多行数据

原始数据 比如有如此表结构定义: 假如查询数据如下: select dt as "日期",bj_count as "北京", sh_count as "上海",gz_count as "广州", sz_count as "深圳" from city_stats order by dt--------------------…...

二蛋赠书一期:《快捷学习Spring》

文章目录 前言活动规则参与方式本期赠书《快捷学习Spring》关于本书作者介绍内容简介读者对象 结语 前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c…...

Threejs汽车展厅

2023-09-06-16-29-40 预览:https://9kt8fy-1234.csb.app/ 源码链接...

LeetCode:207. 课程表、210. 课程表 II(拓扑排序 C++)

目录 207. 课程表 题目描述: 实现代码与解析: 拓扑排序 210. 课程表 II 题目描述: 实现代码与解析: 拓扑排序 原理思路: 207. 课程表 题目描述: 你这个学期必须选修 numCourses 门课程&#xff0…...

如何使用组件

可以复用的代码写到组件里面,比如左侧的导航栏 1.写好一个组件 记得结构写在template标签里面,当然div也可以 2.在需要使用的地方,用标签使用组件 3.在使用的文件内import此组件 import CommonAside from /components/CommonAside.vue; …...

高基数路由器的最佳拍档?深入浅出解析Flattened Butterfly拓扑的优缺点与适用场景

高基数路由器的最佳拍档?深入浅出解析Flattened Butterfly拓扑的优缺点与适用场景 在构建大规模互连网络时,拓扑结构的选择往往决定了系统的性能上限和成本下限。当工程师面对高基数路由器(High-Radix Router)的选型时&#xff0c…...

Android开发职位深度解析与面试指南

引言 Android开发作为移动应用开发的核心领域,近年来随着智能手机的普及和技术的迭代,已成为IT行业的热门职业方向。本文基于一份典型的Android开发职位描述展开,深入探讨其核心技能要求、经验门槛、工具使用等关键要素。职位描述强调了对Flutter、多线程、Framework、Andr…...

别再只会用PS修图了!用Python的Richardson-Lucy算法,5分钟搞定模糊老照片修复

用Python拯救模糊老照片:零基础也能上手的Richardson-Lucy算法实战 翻箱倒柜找到一张泛黄的老照片,却发现画面模糊得连人脸都看不清?别急着叹气,更不用花大价钱找专业修图师。今天我要分享一个连Python新手都能轻松上手的黑科技—…...

《数据结构》| 第十章 排序算法实战指南

1. 排序算法入门:为什么我们需要这么多排序方法? 第一次接触排序算法时,很多人都会有这样的疑问:既然都能把数据排好序,为什么还要学这么多种算法?这就像装修时既有电钻又有锤子——每种工具都有最适合的使…...

全桥LLC变换器死区时间优化实战:从IGBT硬开通到完美ZVS的调试记录

全桥LLC变换器死区时间优化实战:从IGBT硬开通到完美ZVS的调试记录 在电力电子领域,LLC谐振变换器因其高效率、高功率密度和良好的EMI特性,已成为中高功率应用的理想选择。然而,实际调试过程中,死区时间与励磁电感的匹配…...

MATLAB 数值计算辅助:分析 Stable Yogi 生成图像的色彩与纹理特征

MATLAB 数值计算辅助:分析 Stable Yogi 生成图像的色彩与纹理特征 1. 引言 最近在尝试用 Stable Yogi 生成一些皮革纹理的设计图,效果确实挺惊艳的。但生成得多了,就遇到一个新问题:我手头攒了几百张图,风格各异&…...

AR.js终极指南:在Web浏览器中实现高效增强现实的完整解决方案

AR.js终极指南:在Web浏览器中实现高效增强现实的完整解决方案 【免费下载链接】AR.js Image tracking, Location Based AR, Marker tracking. All on the Web. 项目地址: https://gitcode.com/gh_mirrors/arj/AR.js AR.js是一个轻量级JavaScript库&#xff0…...

资源捕获高效解决方案:猫抓浏览器扩展让媒体提取更简单

资源捕获高效解决方案:猫抓浏览器扩展让媒体提取更简单 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今数字时代,我们每天都在网页上浏览大量的媒体内容,从精…...

Qwen2.5-VL-7B-Instruct应用场景:跨境电商商品图自动打标+多语种描述生成

Qwen2.5-VL-7B-Instruct应用场景:跨境电商商品图自动打标多语种描述生成 1. 跨境电商的痛点与解决方案 跨境电商卖家每天面临两个核心挑战:商品图片标注和多语言描述撰写。传统方式需要人工逐张图片添加标签,再用翻译工具转换语言&#xff…...

# 发散创新:用 Rust实现一个轻量级游戏日引擎的核心调度机制 在现代游戏开发中,**高效的任务调度与资源管理**是性能

发散创新:用 Rust 实现一个轻量级游戏日引擎的核心调度机制 在现代游戏开发中,高效的任务调度与资源管理是性能瓶颈的关键所在。尤其是在“游戏日”这类强调多线程并行处理、实时响应的场景下,传统基于 C 或 Python 的方案往往因内存安全问题…...