Ц Програмирање

Дужина низа на језику Ц

Дужина низа на језику Ц
Низ у језику Ц је низ знакова који се завршава нулом (\ 0). Дужина низа је број знакова у низу. У дужини низа '\ 0,' знак се не рачуна.

У примеру приказаном горе, дужина низа стр је 6.

У овом упутству ћемо прво показати како се користи кориснички дефинисана функција за израчунавање дужине низа, а затим ћемо вам показати уграђену функцију библиотеке стрлен (). Такође вам показујемо употребу величина оператор за стринг литерале.

Дужина низа помоћу функције коју дефинише корисник

Можете написати кориснички дефинисану функцију која враћа број знакова у низу.

// Пример1.ц
#инцлуде
инт стрингЛенгтх (цхар * стр)

инт и = 0;
док (стр [и] != '\ 0') и ++;
ретурн и;

инт маин ()

цхар стр [30] = "СТРИНГ";
принтф ("Дужина низа стр је =>% д \ н", стрингЛенгтх (стр));
ретурн 0;

Овде понављамо вхиле петљу из и = 0 док не наиђемо на '\ 0' карактер. Вредност и се увећава за 1 у свакој итерацији вхиле петље. Када се петља заврши, вредност и је дужина низа.

Дужина низа помоћу функције уграђене библиотеке

Уграђена функција библиотеке стрлен () такође се може користити за одређивање дужине низа.

функција стрлен ():

Датотека заглавља:

низ.х

Синтакса:

сизе_т стрлен (цонст цхар * стр)

Расправа: Ова функција узима аргумент показивача типа на цхар.

Повратна вредност: Ова функција враћа дужину низа стр. Напоменути да сизе_т је само псеудоним целог броја без потписа.

// Пример2.ц
#инцлуде
#инцлуде
инт маин ()

цхар стр1 [30] = "НИЗНИ НИЗ";
цхар * стр2;
цхар * стр3;
стр2 = стр1;
стр3 = "СТРИНГ ПОИНТЕР";
принтф ("Дужина низа стр1 је =>% лд \ н", стрлен (стр1));
принтф ("Дужина низа стр2 је =>% лд \ н", стрлен (стр2));
принтф ("Дужина низа стр3 је =>% лд \ н", стрлен (стр3));
принтф ("Дужина низа" СТРИНГ ЛИТЕРАЛС "је =>% лд \ н", стрлен ("СТРИНГ ЛИТЕРАЛС"));
ретурн 0;

Овде преносимо низ низа, показивач на низ и литерал на стринг функцији стрлен, а функција враћа дужину низа.

Дужина низа помоћу величине оператора

Такође можемо користити величина оператор за дужину низа (само за стринг литерал). Али, од вредности коју је вратио овај оператер морамо да одузмемо 1, јер такође рачуна знак '\ 0'. За низ и показивач, оператор сизеоф враћа додељену величину низа, односно показивача.

// Пример3.ц
#инцлуде
инт маин ()

цхар стр1 [30] = "СТРИНГ";
цхар * стр2 = стр1;
принтф ("Дужина" СТРИНГ "је =>% д \ н", (сизеоф ("СТРИНГ") - 1));
принтф ("Додељена величина низа стр1 је =>% д \ н", сизеоф (стр1));
принтф ("Величина показивача стр2 је =>% д \ н", сизеоф (стр2));
ретурн 0;

Овде, у реду бр. 9, прослеђујемо дословни низ „СТРИНГ“ и добијамо величину, укључујући знак '\ 0'. Дакле, одузимамо 1 и добијамо стварну величину низа.

Када проследимо низ оператору сизеоф, он враћа додељену величину низа, која је 30, а када прослеђује показивач на знак, враћа величину показивача.

Закључак

Дакле, у овом упутству смо вам показали како се дужина низа може израчунати на разне начине. У коду можете да користите било који метод који вам највише одговара.

Како појачати ФПС у Линуку?
ФПС је скраћеница за Фрејмова у секунди. Задатак ФПС-а је да мери брзину кадрова у репродукцијама видео записа или играчким перформансама. Једноставни...
Најпопуларније лабораторијске игре Оцулус Апп
Ако сте власник Оцулус слушалица, онда морате бити упознати са бочним учитавањем. Бочно учитавање је поступак инсталирања не-продавничког садржаја на ...
10 најбољих игара за играње на Убунту-у
Виндовс платформа је била једна од доминантних платформи за играње игара због огромног процента игара које се данас развијају да би подржале Виндовс. ...