Thursday, April 16, 2009

const char*

C код дотор const char* гэсэн мөр нэлээд тааралдах нь бий. Тухайлбал хувьсагч, функцын аргумэнтийн төрлийг ингэж тодорхойлсон байдаг.

Жишээ нь:

struct MyStruct
{
const char* name;
int return;
};

эсвэл

void MyFunction(const char* file, int line, const char* message);

Энэхүү const char* төрөл яагаад const char * гэж бичигдээгүй нь анхаарал татлаа. Дээрх жишээн дэх name, file, message гэсэн хувьсагч, аргумэнтууд нь бүгд утгыг нь өөрчилж болдоггүй тэмдэгт мөрийг (string constant, string literal) заах заагчид юм. Хэрэв эдгээр нь заагч юм бол од (*) уг нь хувьсагчийн нэрэнд зүүлттэй баймаар юм.

const char *name, const char *file

г.м.-ээр.

Яагаад заавал одыг (*) char дээр зоогоод байгаагийн учрыг мэдмээр байна.