typedef signed char s8;
typedef unsigned char u8;
typedef signed short s16;
typedef unsigned short u16;
typedef signed int s32;
typedef unsigned int u32;
typedef signed long long s64;
typedef unsigned long long u64;
不难发现:signed->s开头的;unsigned ->u开头的。

密密麻麻的怎么记得住呢,可以这样记:u8,s8是char型的可以打印出来ASSIC码(感觉这样理解是对的);u16,s16相当于就是2个字节=short int 用hd%打印;u32,s32是4个字节=int用%u,%d;u64,s64就是8个字节=long long用lld%,llu%打印;然后规律就是带 h 的就是short型,带 l 的就是long型,带 ll 就是long long型。多看几遍就记住了。
肯定有人会想这个也太简单了,但是多用几遍,多看几遍,多出几次错,会记得更牢理解的更清楚。
小白还在学习中,欢迎大佬的指点,特别欢迎,感谢感谢。
想必大家都知道printf打印int 型是用%d,但是u8,u16,u32,u64还有s8,s16,s32,s64是如何打印呢,知道的大佬绕行哈,不知道往下看看。what is u8?常见的u8其实是自定义的,定义如下:typedef signed char s8; typedef unsigned char u8; typedef signed short s16; typedef unsigned short u16; typedef signed int s32;
printf的格式控制的完整格式:% – 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定空位不填。④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
---------------------------------------格式字符格式字符用以指定输出项的数据类型和
这样就可以打印出65对应的ASCII码值。
#### 引用[.reference_title]
- *1* [C 语言printf打印各种数据类型的方法(u8/s8/u16/s16.../u64/double/float)(转)](https://blog.csdn.net/yikunbai5708/article/details/102002558)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [C语言用printf()打印u8,u16,u32等参数类型](https://blog.csdn.net/weixin_44261839/article/details/114029128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]