爲什麼我們使用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