В примера, показан по-горе, дължината на низа ул е 6.
В този урок първо ще покажем как да използваме дефинирана от потребителя функция за да изчислите дължината на низ и след това ще ви покажем вградена функция на библиотеката strlen (). Също така ви показваме как се използва размер на оператор за низ литерали.
Дължина на низа с помощта на дефинирана от потребителя функция
Можете да напишете дефинирана от потребителя функция, която връща броя символи в низ.
// Пример1.° С#include
int stringLength (char * str)
int i = 0;
докато (str [i] != '\ 0') i ++;
return i;
int main ()
char str [30] = "STRING";
printf ("Дължината на низа str е =>% d \ n", stringLength (str));
връщане 0;
Тук итерираме цикъла while от i = 0 докато не срещнем „\ 0“ характер. Стойността на i се увеличава с 1 във всяка итерация на цикъла while. Когато цикълът завърши, стойността на i е дължината на низа.
Дължина на низа с помощта на вградена функция на библиотеката
Вградената функция на библиотеката strlen () може да се използва и за определяне на дължината на низа.
функция strlen ():
Заглавен файл:
низ.зСинтаксис:
size_t strlen (const char * str)Аргумент: Тази функция приема аргумент от указателя на типа към char.
Върната стойност: Тази функция връща дължината на низа ул. Забележи, че размер_т е само псевдоним на неподписано цяло число.
// Пример2.° С#include
#include
int main ()
char str1 [30] = "СТРИНЕН МАСИВ";
char * str2;
char * str3;
str2 = str1;
str3 = "СТРАНЕН ПОКАЗАТЕЛ";
printf ("Дължината на низа str1 е =>% ld \ n", strlen (str1));
printf ("Дължината на низа str2 е =>% ld \ n", strlen (str2));
printf ("Дължината на низа str3 е =>% ld \ n", strlen (str3));
printf ("Дължината на низа" STRING LITERALS "е =>% ld \ n", strlen ("STRING LITERALS"));
връщане 0;
Тук предаваме масив от низове, указател на низ и литерален низ към функцията strlen и функцията връща дължината на низа.
Дължина на низа с използване на sizeof оператор
Също така можем да използваме размер на оператор за дължина на низа (само за литерален низ). Но трябва да извадим 1 от стойността, върната от този оператор, тъй като той също отчита символа '\ 0'. За масив и указател операторът sizeof връща съответно разпределения размер на масива и указателя.
// Пример3.° С#include
int main ()
char str1 [30] = "STRING";
char * str2 = str1;
printf ("Дължината на" STRING "е =>% d \ n", (sizeof ("STRING") - 1));
printf ("Разпределеният размер на масива str1 е =>% d \ n", sizeof (str1));
printf ("Размерът на указателя str2 е =>% d \ n", sizeof (str2));
връщане 0;
Тук, в ред № 9, предаваме низовия литерал „STRING“ и получаваме размера, включително символа „\ 0“. И така, изваждаме 1 и получаваме действителния размер на низа.
Когато предаваме масив на оператора sizeof, той връща разпределения размер на масива, който е 30, а при предаване на указател на символ, връща размера на показалеца.
Заключение
И така, в този урок ви показахме как дължината на низа може да бъде изчислена по различни начини. Можете да използвате в кода си кой метод е най-подходящ за вас.