zoukankan      html  css  js  c++  java
  • uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型

    一般来说,一个C的工程中一定要做一些这方面的工作,因为你会涉及到跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以让你最有效的维护你的代码。为了用户的方便,C99标准的C语言硬件为我们定义了这些类型,我们放心使用就可以了。

     按照posix标准,一般整形对应的*_t类型为:
    1字节     uint8_t
    2字节     uint16_t
    4字节     uint32_t
    8字节     uint64_t

    附:C99标准中inttypes.h的内容
    00001 /*
    00002    inttypes.h
    00003 
    00004    Contributors:
    00005      Createdby Marek Michalkiewicz <marekm@linux.org.pl>
    00006 
    00007    THISSOFTWARE IS NOT COPYRIGHTED
    00008 
    00009    Thissource code is offered for use in the public domain.  You may
    00010    use,modify or distribute it freely.
    00011 
    00012    Thiscode is distributed in the hope that it will be useful, but
    00013    WITHOUTANY WARRANTY.  ALLWARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
    00014    DISCLAIMED.  This includes but is not limited towarranties of
    00015    MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE.
    00016  */
    00017 
    00018 #ifndef __INTTYPES_H_
    00019 #define __INTTYPES_H_
    00020 
    00021 /* Use [u]intN_t if you need exactly N bits.
    00022    XXX- doesn't handle the -mint8 option.  */
    00023 
    00024 typedefsigned char int8_t;
    00025 typedefunsigned char uint8_t;
    00026 
    00027 typedefint int16_t;
    00028 typedefunsigned int uint16_t;
    00029 
    00030 typedeflong int32_t;
    00031 typedefunsigned long uint32_t;
    00032 
    00033 typedeflong long int64_t;
    00034 typedefunsigned long long uint64_t;
    00035 
    00036 typedefint16_t intptr_t;
    00037 typedefuint16_t uintptr_t;
    00038 
    00039 #endif

  • 相关阅读:
    java-this使用
    java-javaBean
    java 构造器
    refs之新旧差异
    angular学习-01引导加载
    mongo 学习02- 基本指令
    mongo 学习01- mongo安装与配置
    node-学习之路04 流式文件
    Vue nodejs商城项目-搭建express框架环境
    Vue nodejs商城项目-项目概述
  • 原文地址:https://www.cnblogs.com/bittorrent/p/3281954.html
Copyright © 2011-2022 走看看