SORU
17 NİSAN 2012, Salı


C Char İşaretçi Char dizi vs

C işaretçileri anlamaya çalışıyorum ama şu anda aşağıdaki ile karıştırılır:

char *p = "hello"

- bu char işaretçi karakter dizi işaret, h de başlıyor

char p[] = "hello"

- Merhaba saklayan bir dizidir.

Bu işlev hem bu değişkenler geçtiğimde fark nedir?

void printSomething(char *p)
{
    printf("p: %s",p);
}

Farklı nasıl anlamıyorum.

CEVAP
17 NİSAN 2012, Salı


char* char[] farklı türleri vardır, ama hemen her durumda belli değil. Bu diziler çünküişaretçiler içine çürümeeğer yazın bir ifadesi char[] char* beklenen sağlanırsa , derleyici otomatik olarak, ilk öğe için bir işaretçi dizisine dönüştürür anlamına gelir.

Örnek: eğer bu gibi bir dizi iletin çalışırsanız o kadar printSomething bir işaretçi bekliyor fonksiyon:

char s[10] = "hello";
printSomething(s);

Derleyici bu yazdığın gibi davranıyor:

char s[10] = "hello";
printSomething(&s[0]);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • arnejann

    arnejann

    3 Kasım 2007
  • Huot Media

    Huot Media

    7 Mayıs 2010
  • NewsyTech

    NewsyTech

    2 AĞUSTOS 2010