SORU
15 Mayıs 2012, Salı


C/tek ve çift tırnak C

18* *soru bakıyordum. Bir program yazdım tamamen açıklama yapılmamış anlayamadım

#include <stdio.h>
int main()
{
  char ch = 'a';
  printf("sizeof(ch) :%d\n", sizeof(ch));
  printf("sizeof(\'a\') :%d\n", sizeof('a'));
  printf("sizeof(\"a\") :%d\n", sizeof("a"));
  printf("sizeof(char) :%d\n", sizeof(char));
  printf("sizeof(int) :%d\n", sizeof(int));
  return 0;
}

İkisini de gcc ve g kullanarak ve bu benim çıkışlarını derlenmiş

gcc:

sizeof(ch)   : 1  
sizeof('a')  : 4  
sizeof("a")  : 2  
sizeof(char) : 1  
sizeof(int)  : 4  

g :

sizeof(ch)   : 1  
sizeof('a')  : 1  
sizeof("a")  : 2  
sizeof(char) : 1  
sizeof(int)  : 4  

G çıktı bana mantıklı ve herhangi bir şüphe ile ilgili yok. Gcc ne sizeof('a') sizeof(char) farklı olmak zorunda. Arkasındaki gerçek nedeni yoksa sadece tarihi var mı?

char 'a' farklı olup olmadığını da C boyutu yapıyoruz ne demek char ch = 'a'; yapıyoruz tür dönüştürme örtülü?

CEVAP
15 Mayıs 2012, Salı


C 'a' gibi karakter sabitler int C char türü var.

Son soru, Evet ile ilgili

char ch = 'a';

char int bir örtük dönüştürme neden olur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • dope2111

    dope2111

    29 HAZİRAN 2009