Длина строки на языке C

String Length C Language



Строка на языке C - это массив символов, заканчивающийся нулевым символом ( 0). Длина строки - это количество символов в строке. В строке длиной « 0» символ не учитывается.







В показанном выше примере длина строки п 6.



В этом уроке сначала мы покажем, как использовать определяемая пользователем функция для вычисления длины строки, а затем мы покажем вам встроенную библиотечную функцию strlen () . Мы также покажем вам использование размер оператор для строковых литералов.



Длина строки с использованием функции, определяемой пользователем

Вы можете написать определяемую пользователем функцию, которая возвращает количество символов в строке.





//Example1.c
#включают

intstringLength(char *п)
{
intязнак равно0;

в то время как(п[я] знак равно ' 0')я++;

возвращениея;
}

intглавный()
{
charп[30]знак равно 'НИТЬ';

printf ('Длина строки str =>% d п',stringLength(п));

возвращение 0;
}

Здесь мы повторяем цикл while из я = 0 пока мы не встретим ‘ 0’ персонаж. Значение я увеличивается на 1 в каждой итерации цикла while. Когда цикл заканчивается, значение я - длина строки.



Длина строки с использованием встроенной функции библиотеки

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

Функция strlen ():

Заголовочный файл:

нить.час

Синтаксис:

size_t Strlen (const char *п)

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

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

//Example2.c
#включают
#включают

intглавный()
{
charstr1[30]знак равно'STRING ARRAY';
char *ул2;
char *ул3;

ул2знак равноstr1;
ул3знак равно 'СТРОКА УКАЗАТЕЛЬ';

printf ('Длина строки str1 =>% ld п', Strlen (str1));
printf ('Длина строки str2 =>% ld п', Strlen (ул2));
printf ('Длина строки str3 =>% ld п', Strlen (ул3));
printf ('Длина строки'СТРОКА ЛИТЕРАЛОВ'is =>% ld п', Strlen ('STRING LITERALS'));

возвращение 0;
}

Здесь мы передаем строковый массив, строковый указатель и строковый литерал в функцию strlen, и функция возвращает длину строки.

Длина строки с использованием оператора sizeof

Мы также можем использовать размер оператор длины строки (только для строкового литерала). Но мы должны вычесть 1 из значения, возвращаемого этим оператором, потому что он также считает символ ’ 0’. Для массива и указателя оператор sizeof возвращает выделенный размер массива и указателя соответственно.

//Example3.c
#включают

intглавный()
{
charstr1[30] знак равно 'НИТЬ';
char *ул2знак равноstr1;

printf ('Длина 'НИТЬ'is =>% d п',(размер('НИТЬ') - 1));
printf ('Выделенный размер массива str1 =>% d п',размер(str1));
printf ('Размер указателя str2 =>% d п',размер(ул2));

возвращение 0;
}

Здесь, в строке № 9, мы передаем строковый литерал STRING и получаем размер, включая символ « 0». Итак, мы вычитаем 1 и получаем фактический размер строки.

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

Заключение

Итак, в этом уроке мы показали вам, как можно вычислить длину строки различными способами. Вы можете использовать в своем коде любой метод, который вам больше всего подходит.