Дължина на низа на език C

String Length C Language



Низ на език C е масив от знаци, който е завършен с нулев знак ( 0). Дължината на низ е броят на знаците в низ. В дължината на низ „ 0“ знакът не се брои.







В примера, показан по -горе, дължината на низа стр е 6.



В този урок първо ще покажем как да използвате a дефинирана от потребителя функция за изчисляване на дължината на низ и след това ще ви покажем вградена библиотечна функция strlen () . Също така ви показваме използването на размер на оператор за низови литерали.



Дължина на низа с помощта на дефинирана от потребителя функция

Можете да напишете дефинирана от потребителя функция, която връща броя на знаците в низ.





// Пример1.c
#включва

intstringLength(char *стр)
{
inti=0;

докато(стр[i] ! = ' 0')i++;

връщанеi;
}

intглавен()
{
charстр[30]= „STRING“;

printf ('Дължината на низа str е => %dн',stringLength(стр));

връщане 0;
}

Тук повтаряме цикъла while от i = 0 докато не срещнем „ 0“ характер. Стойността на i се увеличава с 1 във всяка итерация на цикъла while. Когато цикълът приключи, стойността на i е дължината на низа.



Дължина на низа с помощта на вградена библиотечна функция

Вградената библиотечна функция strlen () може да се използва и за определяне на дължината на низ.

функция strlen ():

Заглавен файл:

низз

Синтаксис:

size_t стрън (const char *стр)

Аргумент: Тази функция приема аргумент от указателя на типа към char.

Възвращаема стойност: Тази функция връща дължината на низ стр . Отбележи, че size_t е просто псевдоним на беззначно цяло число.

// Пример2.в
#включва
#включва

intглавен()
{
charstr1[30]=„STRING ARRAY“;
char *str2;
char *str3;

str2=str1;
str3= „STRING POINTER“;

printf ('Дължината на низа str1 е => %ldн', стрън (str1));
printf ('Дължината на низа str2 е => %ldн', стрън (str2));
printf ('Дължината на низа str3 е => %ldн', стрън (str3));
printf ('Дължина на низа'СТРОННИ ЛИТЕРАЛИ'е => %ldн', стрън („STRING LITERALS“));

връщане 0;
}

Тук ние предаваме низов масив, низов указател и низов литерал на функцията strlen и функцията връща дължината на низа.

Дължина на низа, използваща sizeof Operator

Можем също да използваме размер на оператор за дължина на низ (само за литерал на низ). Но трябва да извадим 1 от стойността, върната от този оператор, защото той също отчита знака „ 0“. За масив и указател операторът sizeof връща разпределения размер на масива и показалеца съответно.

// Пример3.в
#включва

intглавен()
{
charstr1[30] = „STRING“;
char *str2=str1;

printf ('Дължина на'STRING'е => %dн',(размер на(„STRING“) - 1));
printf („Разпределеният размер на масива str1 е => %dн',размер на(str1));
printf ('Размерът на указателя str2 е => %dн',размер на(str2));

връщане 0;
}

Тук, в ред № 9, предаваме низовия литерал STRING и получаваме размера, включително знака „ 0“. И така, изваждаме 1 и получаваме действителния размер на низа.

Когато предаваме масив на оператора sizeof, той връща разпределения размер на масива, който е 30, а при предаване на показалец на символ, връща размера на показалеца.

Заключение

Така че в този урок ви показахме как дължината на низа може да бъде изчислена по различни начини. Можете да използвате във вашия код кой от методите е най -подходящ за вас.