C++基础类的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:50:30
unsigned short in = 0;这个类型是什么类型?
in = (in+1)%SIZE_OF_BUFFER;这句话的结果是什么?
SIZE_OF_BUFFER=10

unsigned short in = 0;这个类型是什么类型?
这个问法不确切,应该问in是什么类型,答案是无符号短整数,in不是int,在C中不指定的任何类型都缺省成int型,即short相当于 short int,又如long相当于long int。

in = (in+1)%SIZE_OF_BUFFER;这句话的结果是什么?
这个用法是把in限制在SIZE_OF_BUFFER范围内(按你的定义即为0-9)
典型的应用是循环缓冲区的使用:
char buf[SIZE_OF_BUFFER];
unsigned short in = 0;

while(1)
{
//任何操作
buf[in]=......;
in=[in+1]%SIZE_OF_BUFFER;
}
循环中会依次使用buf[0]-buf[9],到达buf[9]后再使用,则回到buf[0]。

无符号的短整型。
是不是int,不是in
第二个是对这个数求余。