您的位置:首页 > 产品设计 > UI/UE

uint8_t/uint16_t/uint32_t/uint64_t 等是什么数据类型

2015-09-13 16:51 531 查看
我想,uint8、uint16、uint32、uint64 这大家可能比较理解unit,unsigned int 嘛

uint8,我想很多人也能够理解,其实是unsigned char

那么 _t 呢?其实就是 typedef 的意思

我们在学习标准的C语言时,常见的有 bit、char、short、int、long、float、double等

却几乎不曾见到uint8、uint16 等

所以,人家在这些自定义数据类型后面加 _t 来表示这些数据类型是 typedef 的

以上数据类型在C99中定义如下,其他地方的引用也大同小异了。

这些数据类型是 C99 中定义的,具体定义在:/usr/include/stdint.h ISO C99: 7.18 Integer types

#ifndef __int8_t_defined

# define __int8_t_defined

typedef signed char int8_t;

typedef short int int16_t;

typedef int int32_t;

# if __WORDSIZE == 64

typedef long int int64_t;

# else

__extension__

typedef long long int int64_t;

# endif

#endif

typedef unsigned char uint8_t;

typedef unsigned short int uint16_t;

#ifndef __uint32_t_defined

typedef unsigned int uint32_t;

# define __uint32_t_defined

#endif

#if __WORDSIZE == 64

typedef unsigned long int uint64_t;

#else

__extension__

typedef unsigned long long int uint64_t;

#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: