Programowanie C

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

Długość ciągu w języku C
Ciąg znaków w języku C to tablica znaków zakończona znakiem null (\0). Długość ciągu to liczba znaków w ciągu. W ciągu znaków '\0' znak nie jest liczony.

W powyższym przykładzie długość sznurka str jest 6.

W tym samouczku najpierw pokażemy, jak używać a funkcja zdefiniowana przez użytkownika aby obliczyć długość ciągu, a następnie pokażemy Ci wbudowaną funkcję biblioteczną strlen(). Pokazujemy również zastosowania rozmiar operator dla literałów łańcuchowych.

Długość ciągu przy użyciu 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.do
#zawierać
int stringLength(znak *str)

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

int main()

znak str[30]= "ŁAŃCUCH";
printf("Długość ciągu ciąg wynosi => %d\n",stringLength(str));
zwróć 0;

Tutaj iterujemy pętlę while od ja = 0 dopóki nie napotkamy '\0' postać. Wartość ja zwiększa się o 1 w każdej iteracji pętli while. Gdy pętla się kończy, wartość ja to długość sznurka.

Długość ciągu przy użyciu wbudowanej funkcji biblioteki

Wbudowana funkcja biblioteki strlen() może być również użyty do określenia długości struny.

funkcja strlen():

Plik nagłówkowy:

strunowy.h

Składnia:

size_t strlen (const char *str)

Argument: Ta funkcja przyjmuje argument typu wskaźnik do char.

Wartość zwrotu: Ta funkcja zwraca długość ciągu str. Zauważ, że rozmiar_t to tylko alias liczby całkowitej bez znaku.

//Przykład2.do
#zawierać
#zawierać
int main()

char str1[30]="TABLICA ŁAŃCUCHÓW";
char *str2;
znak *str3;
słowo2 = słowo1;
str3 = "WSKAŹNIK ŁAŃCUCHA";
printf("Długość łańcucha str1 wynosi => %ld\n",strlen(str1));
printf("Długość ciągu str2 wynosi => %ld\n",strlen(str2));
printf("Długość ciągu str3 wynosi => %ld\n",strlen(str3));
printf("Długość ciągu "LITERAŁÓW ŁAŃCUCHOWYCH" wynosi => %ld\n",strlen("LITERAŁÓW ŁAŃCUCHOWYCH"));
zwróć 0;

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

Długość ciągu Używając sizeof Operator

Możemy również użyć rozmiar operator długości łańcucha (tylko dla literału łańcucha). Ale musimy odjąć 1 od wartości zwracanej przez ten operator, ponieważ liczy on również znak „\0”. W przypadku tablicy i wskaźnika operator sizeof zwraca odpowiednio przydzielony rozmiar tablicy i wskaźnika.

//Przykład3.do
#zawierać
int main()

znak str1[30] = "ŁAŃCUCH";
char *str2 =str1;
printf("Długość "ŁAŃCUCHA" wynosi => %d\n",(sizeof("ŁAŃCUCH") - 1));
printf("Przydzielony rozmiar tablicy str1 wynosi => %d\n",sizeof(str1));
printf("Rozmiar wskaźnika str2 to => %d\n",sizeof(str2));
zwróć 0;

Tutaj, w wierszu nr 9, przekazujemy literał ciągu „STRING” i otrzymujemy rozmiar, w tym znak „\0”. Odejmujemy więc 1 i otrzymujemy rzeczywisty rozmiar łańcucha.

Gdy przekazujemy tablicę do operatora sizeof, zwraca on przydzielony rozmiar tablicy, który wynosi 30, a przy przekazywaniu wskaźnika znakowego zwraca rozmiar wskaźnika.

Wniosek

W tym samouczku pokazaliśmy, jak można obliczyć długość sznurka na różne sposoby. Możesz użyć w swoim kodzie dowolnej metody, która najbardziej Ci odpowiada.

Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...
Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...