Długość ciągu w języku C

Długość ciągu w języku C
Ciąg w języku C to tablica znaków zakończonych zerowym znakiem (\ 0). Długość ciągu to liczba znaków w ciągu. W długości ciągów „\ 0” postać nie jest policzona.

W powyższym przykładzie długość łańcucha str jest 6.

W tym samouczku po pierwsze pokażemy, jak użyć Funkcja zdefiniowana przez użytkownika Aby obliczyć długość łańcucha, a następnie pokażemy Ci wbudowaną funkcję biblioteki strlen (). Pokazujemy również zastosowania rozmiar Operator literałów smyczkowych.

Długość ciągu za pomocą funkcji zdefiniowanej przez użytkownika

Możesz napisać funkcję zdefiniowaną przez użytkownika, która zwraca liczbę znaków w ciągu.

//Przykład 1.C
#włączać
int stringLength (char *str)

int i = 0;
While (str [i] != '\ 0') i ++;
powrót i;

int main ()

char str [30] = "string";
printf („Długość ciągów string is => %d \ n”, stringLength (str));
powrót 0;

Tutaj iterujemy pętlę z i = 0 dopóki nie spotkamy „\ 0” postać. Wartość I jest zwiększony przez 1 w każdej iteracji pętli While. Kiedy pętla się kończy, wartość I to długość łańcucha.

Długość ciągu za pomocą wbudowanej funkcji biblioteki

Wbudowana funkcja biblioteki strlen () można również użyć do określenia długości ciągu.

funkcja strlen ():

Plik nagłówka:

strunowy.H

Składnia:

size_t strlen (const char *str)

Argument: Ta funkcja przyjmuje argument wskaźnika typu do Char.

Wartość zwracana: Ta funkcja zwraca długość ciągu str. Zauważ, że size_t to tylko pseudonim niepodpisanej liczby całkowitej.

// Przykład2.C
#włączać
#włączać
int main ()

char str1 [30] = "String Array";
char *str2;
char *str3;
str2 = str1;
str3 = "string wskaźnik";
printf („Długość ciągów str1 to => %ld \ n”, strlen (str1));
printf („Długość ciągów str2 to => %ld \ n”, strlen (str2));
printf („Długość ciągów str3 to => %ld \ n”, strlen (str3));
printf („Długość ciągów„ string literals ”IS => %ld \ n”, strlen („String Literals”));
powrót 0;

Tutaj przekazujemy tablicę ciągów, wskaźnik ciągów i string literał do funkcji Strlen, a funkcja zwraca długość ciągu.

Długość ciągu za pomocą operatora sizeof

Możemy również używać rozmiar Operator długości ciągów (tylko dla literału ciągu). Ale musimy odjąć 1 od wartości zwróconej przez tego operatora, ponieważ liczy również znak „\ 0”. W przypadku tablicy i wskaźnika operator rozmiaru zwraca odpowiednio przydzielony rozmiar tablicy i wskaźnika.

// Przykład3.C
#włączać
int main ()

char str1 [30] = "string";
char *str2 = str1;
printf („długość„ string ”to => %d \ n”, (sizeof („string”) - 1));
printf („Przydzielony rozmiar tablicy STR1 to => %d \ n”, sizeof (str1));
printf („Rozmiar wskaźnika str2 to => %d \ n”, sizeof (str2));
powrót 0;

Tutaj, w wierszu nr 9, mijamy string „ciąg” i otrzymujemy rozmiar, w tym znak „\ 0”. Więc odejmujemy 1 i otrzymujemy rzeczywisty rozmiar łańcucha.

Po przekazaniu tablicy do operatora rozmiaru, zwraca przydzielony rozmiar tablicy, który wynosi 30, a po przekazywaniu wskaźnika postaci zwraca rozmiar wskaźnika.

Wniosek

Tak więc w tym samouczku pokazaliśmy, jak można obliczyć długość ciągu na różne sposoby. Możesz użyć w swoim kodzie, w dowolnym metodzie najlepiej pasuje do Ciebie.