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

最近在看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来定义与平台无关的类型。

位平台的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,无符号数,这个在之后的博客里再详细讨论一下吧~

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

uint16,uint32是什么?的更多相关文章

  1. Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])

    最近项目中要用到socket通讯,由于涉及到组包问题,所以需要数据类型之间的来回转换,现在分享出来 如果想要请教Socket的问题请留言,我会随时回答的 1. int类型转16进制hexstring ...

  2. 开源组件ExcelReport 1.5.2 使用手册

    ExcelReport是一款基于NPOI开发的报表引擎组件.它基于关注点分离的理念,将数据与样式.格式分离.让模板承载样式.格式等NPOI不怎么擅长且实现繁琐的信息,结合NPOI对数据的处理的优点将E ...

  3. Golang 语法学习笔记

    Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...

  4. Go语言程序设计(1)--基本语法

    第一个程序 package main import "fmt" func main() { fmt.Printf("Hello world") } 通过阅读这个 ...

  5. Golang语法与代码格式速记【转】

    // Description: Golang语法与代码格式速记 // Author: cxy // Date: 2013-04-01 // Version: 0.3 // TODO 说明 // TOD ...

  6. 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...

  7. 【GoLang】golang 最佳实践汇总

    最佳实践 1 包管理 1.1 使用包管理对Golang项目进行管理,如:godep/vendor等工具 1.2 main/init函数使用,init函数参考python 1.2.1 main-> ...

  8. swift基础:第三部分:对第一部分的补充说明

    今天是我学习swift的第二天,虽然我和swift的距离有点远,但我相信,我会慢慢的接近这门语言的.好了,我们聊聊昨天晚上的事吧,昨天晚上下班早,回到家时,真是惊喜哈,宿舍那两做好了饭,等我吃饭,想对 ...

  9. GOLANG 基本数据类型 整型

    基本数据类型-整型 种类     有符号(负号)      int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位 ...

  10. Nim教程【七】

    这是国内第一个关于Nim的系列教程 先说废话 很开心,在今天凌晨快一点多的时候拿到了 nim-lang.com:nim-lang.cn:nim-lang.net 这三个域名,到不是为了投资,准备用ni ...

随机推荐

  1. android高仿人人网

    经过几个月的努力,终于基本完成了人人API拥有的所有功能,界面采用仿照人人梦想版5.13制作,其中资源文件也采用人人的APK文件资源,完成的功能及知识点如下: 1.通过三种动画仿照出人人引导页的放大切 ...

  2. Android--常用框架大全

    1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图 ...

  3. 如何JOPtionPane的showConfirmDialog对话框button设置监视器

    只是最近才知道javaGUI编程.我认为,独立撰写一个记事本,要在其中的对话框过程button设置监视器.但找了一下api相应的方法已被发现,只有找到: Returns: an integer ind ...

  4. HistCite 引文分析软件的利器

    所需工具及网站清单, HISTCITE:DOWNLOAD YOUR FREE COPY. 提交自己的基本信息即可,十分简单: SCI数据库官网(web of science):http://apps. ...

  5. HDU 3153 Pencils from the 19th Century(数学)

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3153 Problem Description Before "automaton" ...

  6. Codeforces #264 (Div. 2) D. Gargari and Permutations

    Gargari got bored to play with the bishops and now, after solving the problem about them, he is tryi ...

  7. WPF 3D 获取鼠标在场景的3d坐标

    原文:WPF 3D 获取鼠标在场景的3d坐标 上一篇中我们谈到了WPF 3d做图的一些简单原理,这里我们简单介绍一下怎样获得鼠标在场景中的3d坐标,知道了3d坐标就可以进行很多操作了: 首先介绍一下3 ...

  8. Mybatis缓存 缓存配置文件 good

    一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  9. Entity States

    Added. The entity does not yet exist in the database. The SaveChanges method must issue an INSERT st ...

  10. VMNET 工作站

    nattunnel 快速连接内网电脑 内网穿透.内网映射,支持微信小程序本地开发 支持WEB.远程桌面.多种TCP协议 官方主页:http://www.vmnet.cc 用途 一个可以快速连接局域网中 ...