size_t、ptrdiff_t、socklen_t、uint32_t

名字后的_t表示该符号是由现有数据类型typedef而来。

size_t :
//无符号整型(unsigned int (32位机下),在64位机下size_t为unsigned long int),size_t一般用来计数,
//它和socklen_t一样是为了增强程序的可移植性

typedef unsigned int            uint32_t;    
typedef unsigned long int       uint64_t; 

格式化输出:

uint16_t %hu  
uint32_t %u 
uint64_t %lu  //无符号长整型(unsigned long int) 
uint64_t %llu  (unsigned long long int)

socklen_t:
//socklen_t必须要和当前机器的int类型具有一致的字节长度,可以看做int
//根据下面的图,不管是32/64位系统,socklen_t都是4字节

int在32位和64位下均为4字节。socklen_t是socket中server端accept函数的第三个参数的数据类型,由于规定该参数必须始终和int保持相同长度和类型,所以使用socklen_t。以前常使用size_t,这容易犯错,因为size_t在64位机是8字节,而int始终是4字节。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值