View Full Version : مبتدی: فرق بین char str[] , char * str
binyaft
شنبه 01 آبان 1389, 18:38 عصر
سلام دوستان ، خسته نباشید
میخواستم فرق اعلان دو متغیر زیر رو بگید بهم
char str[]
و
char * str
ممنون
Mokhless
شنبه 01 آبان 1389, 19:10 عصر
سلام دوستان ، خسته نباشید
میخواستم فرق اعلان دو متغیر زیر رو بگید بهم
char str[]
و
char * str
ممنون
فرق چندانی ندارن فقط کامپایلر
char str[] رو به صورت
char const * str تفسیر میکنه , همین !
r00tkit
شنبه 01 آبان 1389, 19:22 عصر
به همین سادگی هم نیست
char ca[] = {'C', 'p', 'p'}; // not null-terminated
cout << strlen(ca) << endl; // disaster: ca isn't null-terminated
char ca[] null-terminated به صورت پیش فرض نیست مثال کد بالا ولی "char* r="Cpp یه null-terminated string هستش
اینم ببین :
char ca1[] = {'C', '+', '+'}; // no null, not C-style string
char ca2[] = {'C', '+', '+', '\0'}; // explicit null
char ca3[] = "C++"; // null terminator added automatically
const char *cp = "C++"; // null terminator added automatically
char *cp1 = ca1; // points to first element of a array, but not C-style string
char *cp2 = ca2; // points to first element of a null-terminated char array
r00tkit
شنبه 01 آبان 1389, 20:51 عصر
حواسم نبود
char static * str
این static اینجا چی کار می کنه ؟
وقتی میگین : char* t="geek" // any string
به خودی خود Const هستش
ولی char str[] نه const نیست
نکته اخر
char* t=new char هم const نیست چون کلا" با اولی فرق داره این dynamic memory هستش
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.