Neden C dere işaretsiz karakter yerine char kullanıyor? | Netgez.com
SORU
10 Kasım 2008, PAZARTESİ


Neden C dere işaretsiz karakter yerine char kullanıyor?

Hep C Standart kütüphane örneği var neden merak etmişimdir basic_[ıo]akışı ve tüm türevleri unsigned char türü yerine char türünü kullanarak. Uygulama tanımlı yol açacaktır değişkenlerin değer yer. char (imzalı olup olmadığına bağlı olarak) almak gibi işlemler için taşma ve yetersizlik durumu olabilir(), Başka bir örnek, bir bayt çıkış, bir başka biçimlendirilmemiş etmek istediğinizde put fonksiyonunu kullanıyor.

Herhangi bir fikir?

< / ^ hr .

NotHala çok emin değilim. Eğer kesin cevabı biliyorsanız, hala gerçekten gönderebilirsiniz.

CEVAP
10 Kasım 2008, PAZARTESİ


Muhtemelen soruyu yanlış yaptım, ama imzasız char char dönüşüm için uygulama-bağımlı (C standart 4.7-3) belirsiz değil.

C 1-bayt karakter bir tür "", "imzasız char". char Bu verir uygulamaları biraz daha fazla özgürlük için yaptığım en iyi şey bu platform (örneğin, standartlar, vücut olabilir inanan var CPU nerede imzalı bayt aritmetik ve daha fazlası işaretsiz bayt aritmetik, ancak bu spekülasyon benim için). Ayrıca C varoluşsal belirsizlik bu tür kaldırma sonucu C C. ile uyumluluk için# ;-)

Verilen bu "char" tipi, her zamanki akışları onun signedness tanımlı olmasa bile bunu kullanmak için mantıklı bence var. Belki Sorunuzun cevabı ile cevap verdi, "neden" C " imzasız olduğu için char tanımlamış olmuyor mu?"

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Grace Su

    Grace Su

    6 Ocak 2006
  • RomanAtwood

    RomanAtwood

    18 Kasım 2009
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011