C Програмування

Довжина рядка мовою C

Довжина рядка мовою C
Рядок мовою C - це масив символів, який закінчується нульовим символом (\ 0). Довжина рядка - це кількість символів у рядку. У довжині рядка "\ 0" символ не враховується.

У наведеному вище прикладі довжина рядка вул становить 6.

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

Довжина рядка за допомогою користувацької функції

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

// Приклад1.c
#включати
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 ():

Файл заголовка:

рядок.h

Синтаксис:

size_t strlen (const char * str)

Аргумент: Ця функція приймає аргумент покажчика типу на char.

Повернене значення: Ця функція повертає довжину рядка вул. Зауважте, що size_t - це просто псевдонім цілого числа без знака.

// Приклад2.c
#включати
#включати
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 ("Довжина рядка" РЯДОВІ ЛІТЕРАЛИ "становить =>% ld \ n", strlen ("РІВНІ ЛІТЕРАЛИ"));
повернути 0;

Тут ми передаємо масив рядків, вказівник на рядок і літеральний рядок функції strlen, і функція повертає довжину рядка.

Довжина рядка з використанням розміру оператора

Ми також можемо використовувати розмір оператор для довжини рядка (лише для літерального рядка). Але ми повинні відняти 1 зі значення, яке повертає цей оператор, оскільки воно також враховує символ \ \ 0. Для масиву та покажчика оператор sizeof повертає виділений розмір масиву та покажчика відповідно.

// Приклад3.c
#включати
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, а при передачі покажчика символів повертає розмір покажчика.

Висновок

Отже, у цьому підручнику ми показали вам, як довжину рядка можна обчислити різними способами. Ви можете використовувати у своєму коді будь-який із способів, який вам найбільше підходить.

Топ 5 карт для захоплення ігор
Ми всі бачили і любили потокові ігри на YouTube. PewDiePie, Jakesepticye та Markiplier - лише деякі з найкращих геймерів, які заробили мільйони, заван...
Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...