• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 浅谈int8_t int64_t size_t ssize_t的相关问题(详解)

浅谈int8_t int64_t size_t ssize_t的相关问题(详解)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了int8,int8是什么意思,int8 t,matlab int8,using std int8 t等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在代码中经常看到int8_t/int16_t/int32_t/int64_t/uint8_t/size_t/ssize_t,以前对这个问题一直是稀里糊涂的,不明白它们到底是什么数据类型,现在上班了,必须把它弄明白了

uint8_t之类

那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答案比较接近。它就是一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是其它数据类型。既然它们都不是新的数据类型,只是使用typedef给类型起的别名,那为什么需要定义它们了?因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以让你最有效的维护你的代码。

它们在stdint.h头文件中定义,下面的代码从/usr/include/stdint.h中复制

<span style="font-family:Microsoft YaHei;font-size:14px;">

/* There is some amount of overlap with <sys/types.h> as known by inet code */

#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

/* Unsigned. */
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</span>

</div>

看完上面的代码,对uint8_t等就有了清晰明确的认识了

size_t/ssize_t

关于size_t/ssize_t,着急的同学可以先看结论
size_t       无符号整型      32bit系统上等同于unsigned int        64bit系统上等同于unsigned long int

ssize_t      有符号整型      32bit系统上等同于int                       64bit系统上等同于long int

32bit系统中 long int为32bit,64bit系统中 long int为64bit

可以从/usr/include/sys/types.h一层层查找,最终会找到ssize_t和size_t的定义。

如何判断系统位数

getconf WORD_BIT

getconf LONG_BIT

或者使用uname -a

以上这篇浅谈int8_t int64_t size_t ssize_t的相关问题(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈int8_t int64_t size_t ssize_t的相关问题(详解)

相关文章

  • 2017-05-28深入uCOS中全局变量的使用详解
  • 2017-05-28C++中字符串查找操作的两则实例分享
  • 2017-05-28C++交换指针实例
  • 2017-05-28基于堆的基本操作的介绍
  • 2017-05-28OpenCV 2.4.3 C++ 平滑处理分析
  • 2017-11-18使用opencv把图片拼接成视频
  • 2017-05-28解析c语言switch中break语句的具体作用
  • 2017-05-28C++中点操作符和箭头操作符的使用详解
  • 2017-05-28Qt实现图片移动实例(图文教程)
  • 2017-05-28深入解析C++的WNDCLASS结构体及其在Windows中的应用

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言的数字游戏算法效率问题探讨实例
    • C++ 简单的任务队列详解
    • 用C语言模仿Python函数的一种简单实现方法
    • C语言中fchdir()函数和rewinddir()函数的使用详解
    • C++虚函数表实例分析
    • 模拟实现C语言中的内存管理
    • C++获取任务栏打开程序窗口示例
    • c++ dynamic_cast与static_cast使用方法示例
    • c语言main函数使用及其参数介绍
    • C++输入输出操作符重载的深入分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有