在stm32單片機的庫文件里有這么一段u8和u16的定義
typedef uint8_t ?u8;
typedef uint16_t u16;
而uint8_t和uint16_t的定義是這樣的
typedef unsigned ? ? ? ? ?char uint8_t;
typedef unsigned short ? ? int uint16_t;
意味著u8就是就是指代的unsigned char
意味著u16就是就是指代的unsigned short int
C語言之數(shù)據(jù)類型詳解_c語言數(shù)據(jù)類型_supergirl091的博客-CSDN博客
為什么這么定義?
u8-----可以理解為無符號的8位2進制的數(shù)據(jù),就是11111111-00000000,注意這里全部是正數(shù),沒有負數(shù),第一位并不是符號位,u就是unsigned char的首字母,8就是8個位的意思。
u16同理
這種寫法能很容易的表明有幾個位,8位?16位?而最常見的數(shù)據(jù)類型就是無符號,所以u8的使用頻率非常高,每次都老老實實的寫unsigned char有點太煩人了,于是用u8來替代,簡明易懂。
在單片機和操作系統(tǒng)中 typedef 會經(jīng)常用到,它可以為某一個類型自定義名稱。和#define比較類似。但是又有不同的地方。
typedef 創(chuàng)建的符號只能用于數(shù)據(jù)類型,不能用于值。而#define 創(chuàng)建的符號可以用于值。
typedef 是由編譯器來解釋,而不是預處理器。
typedef 使用起來更加靈活。
typedef的4種常見用法:
一、給已定義的變量類型起個別名
二、定義函數(shù)指針類型
三、定義數(shù)組指針類型
四、定義數(shù)組類型文章來源:http://www.zghlxwxcb.cn/news/detail-442664.html
總結(jié)一句話:“加不加typedef,類型是一樣的“,這句話可以這樣理解:
沒加typedef之前如果是個數(shù)組,那么加typedef之后就是數(shù)組類型;
沒加typedef之前如果是個函數(shù)指針,那么加typedef之后就是函數(shù)指針類型;
沒加typedef之前如果是個指針數(shù)組,那么加typedef之后就是指針數(shù)組類型;
typedef的4種常見用法_暴躁的野生猿的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-442664.html
到了這里,關(guān)于typedef uint8_t u8;(stm32數(shù)據(jù)類型)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!