日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t

發布時間:2023/11/27 生活经验 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、C語言基本數據類型回顧

在C語言中有6種基本數據類型:short、int、long、float、double、char

1、數值類型

1)整型:short、int、long

2)浮點型:float、double

2、字符類型:char

二、typedef回顧

typedef用來定義關鍵字或標識符的別名,例如:

typedef double wages;
typedef wages salary;

三、uint8_t\uint_16_t\uint32_t\uint64_t

1、這些類型的來源:這些數據類型中都帶有_t, _t 表示這些數據類型是通過typedef定義的,而不是新的數據類型。也就是說,它們其實是我們已知的類型的別名。

2、使用這些類型的原因:方便代碼的維護。比如,在C中沒有bool型,于是在一個軟件中,一個程序員使用int,一個程序員使用short,會比較混亂。最好用一個typedef來定義一個統一的bool:

typedef char bool;

在涉及到跨平臺時,不同的平臺會有不同的字長,所以利用預編譯和typedef可以方便的維護代碼。

3、這些類型的定義:
在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 ?

4、格式化輸出:

uint16_t %hu
uint32_t %u
uint64_t %llu

5、uint8_t類型的輸出:

注意uint8_t的定義為

typedef unsigned char?????????? uint8_t;

uint8_t實際上是一個char。所以輸出uint8_t類型的變量實際上輸出其對應的字符,而不是數值。例:

uint8_t num = 67;
cout << num << endl;

輸出結果:C

參考:

http://blog.sina.com.cn/s/blog_9dcc0fb90101gdvo.html

http://blog.csdn.net/mrlixirong/article/details/48416533

http://blog.csdn.net/kiddy19850221/article/details/6655066

?
--------------------- ?
作者:海闊天空sky1992 ?
來源:CSDN ?
原文:https://blog.csdn.net/Mary19920410/article/details/71518130 ?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。