欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

淺談int8_t int64_t size_t ssize_t的相關(guān)問題(詳解)

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

在代碼中經(jīng)??吹絠nt8_t/int16_t/int32_t/int64_t/uint8_t/size_t/ssize_t,以前對這個(gè)問題一直是稀里糊涂的,不明白它們到底是什么數(shù)據(jù)類型,現(xiàn)在上班了,必須把它弄明白了

uint8_t之類

那么_t的意思到底表示什么?具體的官方答案沒有找到,不過我覺得有個(gè)答案比較接近。它就是一個(gè)結(jié)構(gòu)的標(biāo)注,可以理解為type/typedef的縮寫,表示它是通過typedef定義的,而不是其它數(shù)據(jù)類型。既然它們都不是新的數(shù)據(jù)類型,只是使用typedef給類型起的別名,那為什么需要定義它們了?因?yàn)榭缙脚_,不同的平臺會有不同的字長,所以利用預(yù)編譯和typedef可以讓你最有效的維護(hù)你的代碼。

它們在stdint.h頭文件中定義,下面的代碼從/usr/include/stdint.h中復(fù)制

<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>

看完上面的代碼,對uint8_t等就有了清晰明確的認(rèn)識了

size_t/ssize_t

關(guān)于size_t/ssize_t,著急的同學(xué)可以先看結(jié)論
size_t       無符號整型      32bit系統(tǒng)上等同于unsigned int        64bit系統(tǒng)上等同于unsigned long int

ssize_t      有符號整型      32bit系統(tǒng)上等同于int                       64bit系統(tǒng)上等同于long int

32bit系統(tǒng)中 long int為32bit,64bit系統(tǒng)中 long int為64bit

可以從/usr/include/sys/types.h一層層查找,最終會找到ssize_t和size_t的定義。

如何判斷系統(tǒng)位數(shù)

getconf WORD_BIT

getconf LONG_BIT

或者使用uname -a

以上這篇淺談int8_t int64_t size_t ssize_t的相關(guān)問題(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有