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

String Length C Language



Низ на језику Ц је низ знакова који се завршава нулл знаком ( 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, а при прослеђивању показивача на знак, враћа величину показивача.

Закључак

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