char 、unsigned char、const char区别

1.

const char的意思是该字符是 常量类型的
比如const char ch = 'a'; 是告诉编译器,这个变量不会改变。
当你给这个变量重新赋值的时候,会发出warning,提示用户。

const char *和 char const * 以及char * const
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。
char * const cp; ( * 读成 pointer to )
cp is a const pointer to char

const char * p;
p is a pointer to const char;

实际开发中,很多人名const代替#define. 可以节约内存(嵌入式设备还是不富裕的)。

例如:
#define MODULE_NAME _T("DMEO")
可以用
const char* MODULE_NAME = _T("DEMO");
代替。
NOTE:#define后面没有";",而后面一句有";"

2.

char 是有符号的 ,unsigned char 是无符号的。

.char *是字符串,以'/0'为结束符,unsigned char *是普通的指针;

char 整数范围为-128到127( 0x80__0x7F), 而unsigned char 整数范围为0到255( 0__0xFF )。

3.相互转化

unsigned char*转换成const char*

先将unsigned char*转换成char*,再将char*转换成const char*

unsigned char *pstr;
const char* p = (const char*)(char*)pstr;
const char*转换成unsigned char*
const char* p;
unsigned char * pstr = (unsigned char*)p;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux TCP 参数设置

文章目录 Linux TCP 参数设置参考 Linux TCP 参数设置 查询tcp相关内核参数 sysctl -a|grep ipv4|grep -i --color tcp[rootlocalhost ~]# sysctl -a|grep ipv4|grep -i --color tcp sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key &…

Django——ORM增删改查

基本对象 model.objects 创建数据 可以通过django编写的命令行方式快捷创建数据 python manage.py shell 如果对模型层有任何修改都需要重启shell,否则操作容易出错 在shell中我们需要先引入我们的模型,如from bookstore.models import Book 然后通过…

【接口加密】Java中的接口加密实践

目录 2.1 Java加密相关的基础知识 2.1.1 Java加密框架概述 2.1.2 Java加密常用算法介绍 2.2 Java中的接口加密实现 2.2.1 使用Java加密标准(JCE)实现接口加密 2.2.2 通过Bouncy Castle库实现接口加密 2.2.3 第三方加密工具的集成与应用 2.3 Java…

Uniapp-小程序简单的时间选择组件-年月日时分

文章目录 前言一、组件效果二、组件代码使用 总结 前言 uniapp小程序开发系列。本文实现一个简单时间选择控件。uniapp用个心仪时间控件真的麻烦。官方给得要么年月日,要么时分。产品只要年月日时分。这该怎么玩。旧项目没有引入ui框架,我也不想去引入&…

如何连接ACL认证的Redis

点击上方蓝字关注我 应用程序连接开启了ACL认证的Redis时与原先的方式有差别,本文介绍几种连接开启ACL认证的Redis的Redis的方法。 对于RedisACL认证相关内容,可以参考历史文章: Redis权限管理体系(一):客户端名及用户…

python 中 ftplib库的使用说明

在Python3中,ftplib库是用于处理FTP协议的内置模块。以下是一些使用ftplib库的基本操作示例和说明: 连接与登录FTP服务器 from ftplib import FTP# 创建一个FTP对象 ftp FTP()# 连接到FTP服务器 ftp.connect(ftp.example.com, port21) # 默认端口为2…

【二十七】【C++】二叉树练习

606. 根据二叉树创建字符串 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与…

【无刷电机学习】各种电机优势比较

目录 0 参考出处 1 有刷与无刷比较 2 交流与直流比较 3 内转子与外转子比较 4 Delta型与Y型定子绕向比较 5 低压BLDC的一些优点 0 参考出处 【仅作自学记录,不出于任何商业目的。如有侵权,请联系删除,谢谢!】 维基百科…

C++力扣题目139--单词拆分 198--打家劫舍 213--打家劫舍II 337打家劫舍III

139.单词拆分 力扣题目链接(opens new window) 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 …

Java代理模式:实现灵活的控制访问

Java代理模式:实现灵活的控制访问 代理模式是常用的设计模式之一,它提供了一种方式来控制对某个对象的访问,通过引入一个代理对象来间接访问目标对象。在Java中,代理模式广泛应用于远程方法调用、AOP(面向切面编程&am…

Unity中URP实现水体效果(水的深度)

文章目录 前言一、搭建预备场景1、新建一个面片,使其倾斜一个角度,来模拟水底和岸边的效果2、随便创建几个物体,作为与水面接触的物体3、再新建一个面片,作为水面 二、开始编写水体的Shader效果1、新建一个URP基础Shader2、把水体…

knife4j springboot3使用

简介 在日常开发中,写接口文档是我们必不可少的,而Knife4j就是一个接口文档工具,可以看作是Swagger的升级版,但是界面比Swagger更好看,功能更丰富 使用 我使用的是springboot3.2.3 knife4j 4.3.0,knife4j 4.4版本有…

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战【第95篇—自动化操作读写Excel 】

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战 在日常工作中,Excel表格是不可或缺的数据处理工具。为了提高工作效率,Python中的xlrd和xlwt模块为我们提供了强大的功能,使得自动化操作Excel变得更加简便。本文将介绍xlrd和…

「优选算法刷题」:两数之和

一、题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任…

【心得】如何做一个靠谱的程序员

你是否曾经遇到过一些不应该出现的小 BUG ,比如路径错了一个字母,进而找不到文件 File no found, 写的小功能 直接用错了变量,进而出现一些莫名其妙的问题。这些问题容易解决,但也浪费了我们不少时间。 那么&#xff…

利用nginx内部访问特性实现静态资源授权访问

在nginx中,将静态资源设为internal;然后将前端的静态资源地址改为指向后端,在后端的响应头部中写上静态资源地址。 近期客户对我们项目做安全性测评,暴露出一些安全性问题,其中一个是有些静态页面(*.html&…

线性代数:向量、张量、矩阵和标量

线性代数:向量、张量、矩阵和标量 背景 在线性代数中,向量、张量、矩阵和标量都属于基础概念,特别是最近AI的爆火,向量和张量的概念也越来越普及,本文将介绍下这些基本概念。 1. 标量(Scalar&#xff0…

QT QString和QStringLiteral的区别

一、理解QStringLiteral 1、QStringLiteral是Qt提供的一个宏,用于在编译时创建一个QString对象。它的主要作用是将字符串字面值转换为QString对象,同时提高运行性能和减少内存占用。 2、使用QStringLiteral宏可以避免在运行时创建QString对象&#xff…

GORM入门到精通:构建高效Go应用的终极指南

文章目录 什么是GORM?为什么选择GORM? GORM的基本使用GORM的高级特性关联事务钩子 数据迁移与模型定义数据迁移模型定义 预加载与关联查询预加载关联查询 查询构建器基本查询条件查询范围查询排序、分组和限制 事务管理开始事务事务操作提交事务 钩子&am…

【正则】正则表达式总结

文章目录 1 语法总结2 常用匹配表达式2.1 日期匹配2.2 go实现IP匹配 Reference 1 语法总结 元字符: .:匹配任意单个字符(除了换行符)。 *:匹配前面的子表达式零次或多次。 :匹配前面的子表达式一次或多次。…