Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
texpr_wpor.docx
Скачиваний:
20
Добавлен:
13.03.2015
Размер:
113.63 Кб
Скачать

Жолдар.Жолдарға қолданылатын опрециялар.

Символдыќ жолдарды бірнеше єдістер арќылы аныќтауѓа болады. Келесі єдістер негізгі єдістерге жатады:

- жолдарды константаларды ќолдану;

- символдыќ жолдардан т±ратын массивтерді жєне char типті массивтерді ќолдану.

Жолдыќ константалар тырнаќшаларѓа алынады. Тырнаќшаларѓа алынѓан символдар жєне жолдардыњ ењ соњѓы ‘/0’ символы жадыныњ тізбектелген ±яшыќтарында жазылады. Компилятор жолды жадыѓа орналастырѓанда жадыныњ ќажетті µлшемін аныќтау ‰шін символдардыњ санын есептейді. Жолдыќ константаларды #define директивасыныњ кµмегімен аныќтауѓа болады. Егер жолда тырнаќша символын ќолдану керек болса, онда б±л символдыњ алдына кері бµлшек сызыѓы жазылады. Мысалы:

printf (“\” Сведения о сессии”\n”);

Жолдыќ константа осы жол жазылѓан жадыдаѓы орынѓа сілтейтін кµрсеткіш болып табылады. Символдыќ жолдардыњ массивін аныќтаѓанда компилятор жадыдыныњ ќажетті µлшемін аныќтау ‰шін массивті баяндаѓанда жолдыќ константа арќылы инициалдауѓа болады. (Статикалыќ жєне сыртќы массивтер ќолданылады).

char c[ ]=”Максималды балды аныќтау”; (сыртќы массив)

Єдеттегі массивтерді ќолданѓан жаѓдайдаѓы сияќты б±л массивтіњ аты с, осы массивтіњ 1-ші элементіне сілтейтін кµрсеткіш болып табылады.

c==&c[0]; *c==’0’, жєне *(c+1)==c[1]==’n’;

Ќатарларды аныќтау ‰шін кµрсеткіштерді ќолданамыз. Мысалы:

char *c1=”\n балдарды енгізу”;

Осы баяндалуѓа келесі баяндалу эквивалентті:

static char c1[ ]=”\n ввод баллов”;

Ќарастырылѓан жолдардыњ екі баяндауы с1 ќатардыњ кµрсеткіші екенін кµрсетеді. Жадыныњ ќажетті µлшемін айќын кµрсетуге де болады. Сыртќы баяндауда келесі жолды мына т‰рде жазуѓа болады:

char c[35]=”определение максимального балла”; вместо

char c[ ]=”определение максимального балла”;

Элементтердіњ саны ќатардыњ ±зындыѓынан бір символѓа артыќ болуы керек (нµль-символын есептегенде).Басќа статикалыќ немесе сыртќы массивтердегідей кез келген ќолданылѓан элементтер автоматты т‰рде нµлмен инициалданады (символдыќ т‰рде б±л нµль саныныњ символыны емес, нµль-символы болып табылады).

Символдыќ жолдардан т±ратын массивтер

Єрбір жолы символдыќ массив болып табылатын символдыќ ќатарлардан т±ратын массивтерді ќарастырайыќ. Статикалыќ массивтіњ баяндалуын келесі т‰рде келтірейік:

static char *m[4]={“регистр”,”±яшыќ”,”кµрсеткіш”,”элемент”};

*m[4] массиві символдыќ ќатарларѓа сілтейтін 4 кµрсеткіштен т±рады. Сонымен, символдыќ ќатарлар массивтер болып табылатын болса, онда осы массивтерге сілтейтін 4 кµрсеткіш ќарастырылады. 1-ші жолѓа сілтейтін 1-ші кµрсеткіш болып m[0]-ші табылады. 2-ші жолѓа сілтейтін 2-ші кµрсеткіш m[1]. Сонымен, єрбір кµрсеткіш сєйкес ќатардыњ ењ бірінші символына сілтейді.

*m[0]==’р’; *m[1]==’я’; *m[2]==’у’; *m[3]==’э’;

инициалдау массивтерге арналѓан ережелер бойынша орындалады. Тырнаќшаларѓа жазылатын текстер жаќшалы жазбаларѓа эквивалентті:

{{…},{…},…,{…}};

Ќатарлардан ќ±рылѓан массивтерді баяндаѓанда символдыќ ќатарлардыњ µлшемін кµрсетуге де болады жєне б±л баяндалуда ќатарлардыњ ±зындыѓы бірдей болады:

static char m[4][10];

статикалыќ (сыртќы) массивтіњ ќатарларыныњ ќолданылмаѓан (артыќ) элементтері ‘/0’ (нµль-символымен) символымен инициалданады.

Артыќ элементтер (яѓни, жады тиімді ж±мсалу ‰шін) болмас ‰шін келесі баяндалуларды ќолдануѓа болады:

static char *[4];

М±нда єрбір ќатардыњ ±зындыѓы массивтіњ сєйкес ќатарын инициалдайтын наќтылы ќатармен аныќталады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]