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ş:
takas char dizi bir c...
Etrafında dize char dizi bildirimi geç...
Nasıl karışık bir veri tipi (int, floa...
Char benim işaretçi int*dökme sonra ge...
'VARCHAR arasındaki fark ne ve CH...