C Програмиране

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

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

В примера, показан по-горе, дължината на низа ул е 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, а при предаване на указател на символ, връща размера на показалеца.

Заключение

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

Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...
Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...