6.7 数据的可移植性
取别名
/************************************************
* Filename:
* Author: litao.wang
* Description: QQ群:475504428
* Create: 2018-01-06 02:41:13
* Last Modified: 2018-01-06 15:15:56
*************************************************/
#include<stdio.h>
//typedef unsigned short u16;
typedef unsigned int u16;
int main(void)
{
u16 s;
printf("size: %d\n",sizeof(s));
return 0;
}
C99标准
使用stdint.h
定义可移植的数据类型
/************************************************
* Filename:
* Author: litao.wang
* Description:
* Create: 2018-01-06 02:41:13
* Last Modified: 2018-01-06 15:15:56
*************************************************/
#include<stdio.h>
#include<stdint.h>
int main(void)
{
int16_t s1;
printf("size: %d\n",sizeof(s1));
return 0;
}
inttypes.h
定义可移植的格式化输入、输出
/************************************************
* Filename:
* Author: litao.wang
* Description:
* Create: 2018-01-06 02:41:13
* Last Modified: 2018-01-06 15:15:56
*************************************************/
#include<stdio.h>
#include<inttypes.h>
int main(void)
{
printf("%"PRId64"\n",0x1122334455667788);
printf("%"PRId32"\n",0x11223344);
printf("%"PRId16"\n",0x1122);
printf("%"PRId8"\n",0x11);
return 0;
}