UINT16_uint16是什么数据类型

UINT16_uint16是什么数据类型记得之前在刷笔试题的时候就看见过这个问题,发现当时上网百度后又忘了。最近在看CryEngine3引擎代码的时候又晕了,趁现在赶紧记下来~在查看CE3的代码时我发现了这个变量,TFlowNodeIdm_flowNodeId;心想这是什么鬼?(请理解一个菜鸟没啥经验)然后果断在VS下按F12查看定义,连着按了几次我终于捋清其中的奥妙。所以我干脆把uint8,uint32

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

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

记得之前在刷笔试题的时候就看见过这个问题,发现当时上网百度后又忘了。

最近在看CryEngine3引擎代码的时候又晕了,趁现在赶紧记下来~

 

在查看CE3的代码时我发现了这个变量,TFlowNodeId m_flowNodeId;

心想这是什么鬼?(请理解一个菜鸟没啥经验)

然后果断在VS下按F12查看定义,连着按了几次我终于捋清其中的奥妙。

所以我干脆把uint8,uint32的都找出来了~

typedef  unsigned  char  uchar;

typedef  uchar  uint8;

typedef   uint8  TFlowPortId;





typedef  unsigned  short  ushort;

typePOINTdef  ushort  uint16;

typedef  uint16  TFlowNodeId;



typedef  unsigned  int   uint;

typedef  uint  uint32;

 

 

下面我就要针对其意义简单的做一下分析了~

一般来说我们都知道typedef

用来给变量或结构体起别名,之后声明变量的时候看起来比较清晰易懂

例如 typedef char* PCHAR

或者   typedef struct tagPOINT
       {
             int x;
             int y;
       }POINT;

PCHAR c;

POINT P1;

在这里我们用typedef来定义与平台无关的类型

 int的size取决于平台,16位平台的sizeof(int)=2, 32位平台的sizeof(int)=4, 64位平台的sizeof(int)=8。

(当然这个是不一定得,可能和平台以及编译器有关,多数情况是上面说的那样)

 

*比如我们想定义一个int16,想让他无论什么平台上都是占16位,即两个字节。

  那我们就只需要修改    typedef short int16;

  因为在16位和32位机器上(对于一般的编译器来说)short都是占16位,

  这样我们就可以声明  int16  a;就达到我们的效果了~

 

 

顺便贴一下:

 

32位系统,vc编译器中,

short占 2 字节,

int 、float、long 都占 4 字节,

double 占8 字节

具体占用几个字节,用sizeof();可以测出来的

 

上面代码还涉及到unsigned,无符号数,这个在之后的博客里再详细讨论一下吧~

上面有任何不对的地方还请指出,随时更正~

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196447.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm重命名文件名后运行不了_重命名找不到该项目

    pycharm重命名文件名后运行不了_重命名找不到该项目1、选择要重命名的项目,右击Refactor–>Rename2、选择RenameDirectory Renamedirectory是重命名目录文件明 输入新的项目明,Refactor 这时候目录名已经变了,还需要修改项目名 3、选择Renameproject OK 4、这个时候,我们再运行py文件,就会出现‘系统…

  • mysql:Java通过驱动包(jar包)连接MySQL数据库—步骤总结及验证

    mysql:Java通过驱动包(jar包)连接MySQL数据库—步骤总结及验证Java如何使用JDBC连接MySQL数据库一、下载驱动包Java连接MySQL需要驱动包,官网下载地址为MySQL驱动包官网下载还是建议大家下载以前的版本这是我选择的版本解压后得到jar库文件1.在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示:2.右键工程名,点击最下方—Propertise,在javabuildpath中的…

  • 黑苹果MacOS Big Sur 11.0 安装教程及驱动工具

    黑苹果MacOS Big Sur 11.0 安装教程及驱动工具最新黑苹果MacOSBigSur11.0安装教程,附带各电脑EFI驱动合集、原版引导镜像,图文并茂简单易懂…一、准备工作1.一个8G以上的U盘(安装10.15Catalina必须要16G及以上的U盘);2.MacOS镜像、TransMac(刻录工具)、DiskGenius(分区工具)、EasyUEFI(引导工区)、EFI驱动文件。安装工具获取链接:https://pan.baidu.com/s/1pwUVVo1Ud4yxO29k_ckTBw提取码:qs05安装镜像

  • scala 隐式转换

    scala 隐式转换文章目录作用解决什么问题使用implicits的一些规则3.1.1标记规则3.1.2范围规则3.1.3一次规则3.1.4优先规则3.1.5命名规则3.1.6编译器使用implicit的几种情况3.2隐含类型转换3.3转换被方法调用的对象3.3.1支持新的类型3.3.2模拟新的语法结构实验总结implicit基本含义隐式转换隐式转换的另一个优点是它们支持目标类型转换.隐式转换操作规则隐式参数和spring的依赖注入之前关系与区别隐式转换类(ImplicitClasses)隐式类

    2022年10月11日
  • 织梦中data文件夹是存放什么内容的

    织梦中data文件夹是存放什么内容的

  • springboot 406错误 produces(springboot下载)

    Springboot406错误简单的写了一个接口,然后406了。。。。publicclassTestController{@GetMapping(“/testGet/{message}”)publicResulttestGet(@PathVariableStringmessage){returnResult.success(message);}}Resolved[org.springframework.web.HttpMedi

发表回复

您的电子邮箱地址不会被公开。

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