在C語言中,unsigned是一種數據類型修飾符,用于聲明無符號整數類型。它的作用是表示該類型的變量只能存儲非負整數,即0及正整數。與之相對的是有符號整數類型,可以存儲負數、零和正數。
使用unsigned修飾整數類型的變量可以擴大其表示范圍,因為在無符號整數類型中,所有的比特位都用于表示數值本身,因此可以表示更大的正整數。例如,在32位系統中,signed int可以表示-2147483648到2147483647之間的整數,而unsigned int可以表示0到4294967295之間的整數。
此外,unsigned在某些情況下還可以用于避免一些運算產生的溢出問題。例如,兩個無符號整數相加時,如果結果超出了無符號整數類型的表示范圍,那么結果將是取模后的值。這可以避免溢出錯誤,并且在一些特定的應用場景中很有用。
總之,unsigned的作用是用來聲明無符號整數類型,限制變量只能存儲非負整數,并且擴大了表示的范圍。