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

  • Engadget

    Engadget

    18 EYLÜL 2006
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008
  • super1988guy

    super1988guy

    9 Aralık 2007