为什么我们使用char数组在内存中创建缓冲区而不是int数组,并且如果int数组可用于创建缓冲区,如何从中获取输出?为什么我们使用char数组来创建缓冲区
int main()
{
char buffer[100];
fread(buffer,sizeof(int),4,stdin);
int i=0;
while(i<4)
{
printf ("%d,\n",buffer[i]);
i=i+1;
}
}
我们使用'char'是因为它合乎逻辑。根据ANSI C,它代表了ASCII编码中的一个字符(通常)。但是,如果您处理Unicode,情况会变得很奇怪。 –
@ user1781308 - 我不确定你为什么被如此残酷地踢倒。对不起:(。一些评论:1)一个字符不是一个整数。但都是不可或缺的价值。 2)“缓冲区”传统上是字节数组。但他们不需要*。你的缓冲区可以是double [],some_struct []或者在你的情况下是int []。 3)“fread()”可以容纳不同元素宽度的缓冲区(比如int和char)。低级别的“read()”和“write() - 或套接字的读写操作 - 只需要字节缓冲区。”希望能够帮助.. – paulsm4