Char arasındaki fark char[1]
C ne fark (eğer varsa) kullanarak char ve char[1] arasında.
örnekler:
struct SomeStruct
{
char x;
char y[1];
};
Aynı sebep imzasız char için takip ediyor musunuz?
CEVAP
Temel fark sadece bir char erişmek için kullandığınız sözdizimi.
"Access" yani Yasası'nı kullanarak çeşitli operatörler dili, en ya da her hangi farklı şeyler ne zaman uygulanacak, char
göre char
dizi. Bu ise x
y
neredeyse tamamen farklı olduğu gibi ses yapar. İkisi de" bir char ama char çok farklı bir şekilde temsil edilmiştir. "ibaret aslında
Uygulamaolabilirbaşka farklılıklar var çünkü, örneğin ve yapısı farklı kullandığınız göre hizalamak pad olabilir. Ama eminim öyledir.
Operatör farklılıkları bir örnek bir char atanabilir ve bir dizi değil:
SomeStruct a;
a.x = 'a';
a.y[0] = 'a';
SomeStruct b;
b.x = a.x; // OK
b.y = a.y; // not OK
b.y[0] = a.y[0]; // OK
Ama y
atanabilir değil aslında SomeStruct
atanabilir olmasına engel değildir:
b = a; // OK
Tüm bu türü, char
ya da değil, ne olursa olsun. Bir türünde bir nesne, ve 1, çok fazla bellek ne açısından aynı boyutta bu tür bir dizi.
Bir kenara olarak, bir bağlam içinde olan çok şey farkeder ki sen "kullanmak" out of char
char[1]
, ve bazen yardımcı olur karıştırmayın insanların içine düşünce bu dizi gerçekten işaretçiler. Senin örnek değil, ama fonksiyonu parametre olarak:
void foo(char c); // a function which takes a char as a parameter
void bar(char c[1]); // a function which takes a char* as a parameter
void baz(char c[12]); // also a function which takes a char* as a parameter
Numaraları bar
baz
tanımlamalar sağlanan tamamen C dili tarafından dikkate alınmaz. Görünüşe göre birisi bir noktada hissettim bu yararlı için programcılar gibi bir form belgeleri, belirten fonksiyonu baz
bekliyor onun işaretçi değişkeni işaret etmek için ilk unsur, bir dizi 12 char.
Bar ve baz, c
asla sahip dizi türü - görünüyor gibi bir dizi türü, ama değil, sadece bir fantezi özel durum sözdizimi ile aynı anlamı char *c
. ""- Çok char[1]
kullanmadığınız, sadece öyle görünüyor. kullanımı tırnak işaretleri koymak nedeni budur
Char In arasındaki fark nedir[] ve cha...
* Sabit ve sabit char *char arasındaki...
Char arasındaki fark.() İsDigit ve Cha...
'VARCHAR arasındaki fark ne ve CH...
Arasındaki fark / işaretsiz char imzal...