int* a和int *a_int和char的区别

int* a和int *a_int和char的区别工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。int_t同类int_t为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。

int_t同类

int_t 为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。

  •  int8_t      : typedef signed char;
  •  uint8_t    : typedef unsigned char;
  •  int16_t    : typedef signed short ;
  •  uint16_t  : typedef unsigned short ;
  •  int32_t    : typedef signed int;
  •  uint32_t  : typedef unsigned int;
  •  int64_t    : typedef signed  long long;
  •  uint64_t  : typedef unsigned long long;
Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Value
int8_t signed char Signed 8 1 -128 127
uint8_t unsigned char Unsigned 8 1 0 255
int16_t short Signed 16 2 -32,768 32,767
uint16_t unsigned short Unsigned 16 2 0 65,535
int32_t int Signed 32 4 -2,147,483,648 2,147,483,647
uint32_t unsigned int Unsigned 32 4 0 4,294,967,295
int64_t long long Signed 64 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807
uint64_t unsigned long long Unsigned 64 8 0 18,446,744,073,709,551,615

size_t与ssize_t

size_t主要用于计数,如sizeof函数返回值类型即为size_t。在不同位的机器中所占的位数也不同,size_t是无符号数,ssize_t是有符号数。

  • 在32位机器中定义为:typedef  unsigned int size_t; (4个字节)
  • 在64位机器中定义为:typedef  unsigned long size_t;(8个字节)

由于size_t是无符号数,因此,当变量有可能为负数时,必须使用ssize_t。因为当有符号整型和无符号整型进行运算时,有符号整型会先自动转化成无符号。

int main()
{
    unsigned short a;
    short int b = -1;
    a = b;
    cout << "b=" << b << endl;  //b=-1
    cout << "a=" << a << endl;  //a=65535
}

此外,int 无论在32位还是64位机器中,都是4个字节, 且带符号,可见size_t与int 的区别之处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191293.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 通信信道带宽为1Gbit/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问: 可能达到的最大吞吐量是多少?信道的利用率是多少?

    通信信道带宽为1Gbit/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问: 可能达到的最大吞吐量是多少?信道的利用率是多少?通信信道带宽为1Gbit/s,端到端时延10ms。TCP的发送窗口为65535字节。试问:一可能达到的最大吞吐量是多少?信道的利用率是多少?由发送时延=数据长度/信道带宽=655358bit/1Gb/s=0.5242810-3s=0.52428ms来回的传播时延=10ms2=20ms总时延=20.52428ms所以每秒可以产生1000/20.52428个窗口最大吞吐量=6553681000/20.52428=25544769bit/s信道利用率=最大吞吐量/信道带宽=25544769bit/s/

    2022年10月11日
    8
  • 旋转编码器工作原理图_编码器工作原理图解

    旋转编码器工作原理图_编码器工作原理图解一、旋转编码器的原理和特点:旋转编码器是集光机电技术于一体的速度位移传感器。当旋转编码器轴带动光栅盘旋转时,经发光元件发出的光被光栅盘狭缝切割成断续光线,并被接收元件接收产生初始信号。该信号经后继电路处理后,输出脉冲或代码信号。其特点是体积小,重量轻,品种多,功能全,频响高,分辨能力高,力矩小,耗能低,性能稳定,可靠使用寿命长等特点。1、增量式编码器增量…

    2022年10月1日
    3
  • 百度地图的开发版sha1和发布版sha1的获取方式「建议收藏」

    百度地图的开发版sha1和发布版sha1的获取方式「建议收藏」百度地图SDK在实际开发中也算是最常用的SDK之一,但是不少新手开发者对申请密钥时,填写SHA1有不少疑问,在此解答进入百度地图SDK申请密钥会看到这样的场景这里不得不说几件事在安卓开发中,打包生成APK时,我们通常有两种方式重点:也就是所谓的debug版本和release版本,这两个签名方式是不一样的。调试(

    2022年8月10日
    5
  • taskscheduler java_Spring TaskScheduler使用实例解析

    taskscheduler java_Spring TaskScheduler使用实例解析这篇文章主要介绍了SpringTaskScheduler使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下TaskScheduler提供对计划任务提供支持;使用@EnableScheduling开启计划任务支持使用@Scheduled来注解计划任务的方法;示例演示后台间断执行任务和定时计划任务计划任务的配置@Configuration@…

    2022年10月11日
    2
  • LoadRunner11完美激活成功教程「建议收藏」

    LoadRunner11完美激活成功教程「建议收藏」今天装完LoadRunner后,发现怎么都启动不了,最后找了很久的注册码global-100:AEAMAUIK-YAFEKEKJJKEEA-BCJGIweb-10000:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB很管用了!

    2022年7月22日
    10
  • Mac卸载JDK「建议收藏」

    Mac卸载JDK「建议收藏」在开发中可能需要用到某些版本的JDK,而系统中可能存在一些其它版本,此时可以切换到需要的版本,也可以删除掉不需要的版本,若想删除某个版本的JDK,请按如下操作:1、调出终端窗口,依次输入如下命令:sudorm-fr/Library/Internet\Plug-Ins/JavaAppletPlugin.pluginsudorm-fr/Library/PreferencesP

    2022年6月25日
    163

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号