Độ dài chuỗi trong ngôn ngữ C

String Length C Language



Chuỗi trong ngôn ngữ C là một mảng các ký tự được kết thúc bằng ký tự rỗng ( 0). Độ dài chuỗi là số ký tự trong một chuỗi. Trong độ dài chuỗi ‘ 0’, một ký tự không được tính.







Trong ví dụ được hiển thị ở trên, độ dài của chuỗi P là 6.



Trong hướng dẫn này, trước tiên, chúng tôi sẽ giới thiệu cách sử dụng chức năng do người dùng xác định để tính toán độ dài của một chuỗi và sau đó chúng tôi sẽ hiển thị cho bạn một hàm thư viện được tích hợp sẵn strlen () . Chúng tôi cũng chỉ cho bạn cách sử dụng kích thước toán tử cho chuỗi ký tự.



Độ dài chuỗi sử dụng chức năng do người dùng xác định

Bạn có thể viết một hàm do người dùng xác định để trả về số ký tự trong một chuỗi.





//Example1.c
#bao gồm

NSchiều dài chuỗi(char *P)
{
NStôi=0;

trong khi(P[tôi] ! = ' 0')tôi++;

trở lạitôi;
}

NSchủ chốt()
{
charP[30]= 'DÂY';

printf ('Chiều dài của chuỗi str là =>% d ',chiều dài chuỗi(P));

trở lại 0;
}

Ở đây, chúng tôi lặp lại vòng lặp while từ i = 0 cho đến khi chúng ta không gặp phải ‘ 0’ tính cách. Giá trị của tôi được tăng lên bởi 1 trong mỗi lần lặp của vòng lặp while. Khi vòng lặp kết thúc, giá trị của tôi là độ dài của chuỗi.



Độ dài chuỗi sử dụng chức năng thư viện tích hợp

Chức năng thư viện tích hợp strlen () cũng có thể được sử dụng để xác định độ dài chuỗi.

Hàm strlen ():

Tập tin tiêu đề:

dây.NS

Cú pháp:

size_t strlen (hăng sô char *P)

Tranh luận: Hàm này nhận một đối số của kiểu con trỏ tới char.

Giá trị trả lại: Hàm này trả về độ dài của chuỗi P . Lưu ý rằng size_t chỉ là bí danh của một số nguyên không dấu.

//Example2.c
#bao gồm
#bao gồm

NSchủ chốt()
{
charstr1[30]='STRING ĐẾN';
char *str2;
char *str3;

str2=str1;
str3= 'STRING POINTER';

printf ('Chiều dài của chuỗi str1 là =>% ld ', strlen (str1));
printf ('Chiều dài của chuỗi str2 là =>% ld ', strlen (str2));
printf ('Chiều dài của chuỗi str3 là =>% ld ', strlen (str3));
printf ('Chiều dài của chuỗi'STRING KHOÁNG SẢN'là =>% ld ', strlen ('STRING KHOÁNG SẢN'));

trở lại 0;
}

Ở đây, chúng ta truyền mảng chuỗi, con trỏ chuỗi và chuỗi ký tự vào hàm strlen và hàm trả về độ dài của chuỗi.

Độ dài chuỗi sử dụng toán tử sizeof

Chúng tôi cũng có thể sử dụng kích thước toán tử cho độ dài chuỗi (chỉ cho chuỗi ký tự). Tuy nhiên, chúng ta phải trừ đi 1 từ giá trị được trả về bởi toán tử này, vì nó cũng tính ký tự ' 0'. Đối với mảng và con trỏ, toán tử sizeof trả về kích thước được phân bổ của mảng và con trỏ, tương ứng.

//Example3.c
#bao gồm

NSchủ chốt()
{
charstr1[30] = 'DÂY';
char *str2=str1;

printf ('Độ dài của 'DÂY'là =>% d ',(kích thước('DÂY') - 1));
printf ('Kích thước được phân bổ của mảng str1 là =>% d ',kích thước(str1));
printf ('Kích thước của con trỏ str2 là =>% d ',kích thước(str2));

trở lại 0;
}

Ở đây, trong Dòng số 9, chúng ta chuyển chuỗi ký tự STRING và lấy kích thước, bao gồm cả ký tự ‘ 0’. Vì vậy, chúng tôi trừ đi 1 và nhận được kích thước thực của chuỗi.

Khi chúng ta truyền một mảng cho toán tử sizeof, nó sẽ trả về kích thước được phân bổ của mảng, là 30 và khi truyền một con trỏ ký tự, nó sẽ trả về kích thước của con trỏ.

Phần kết luận

Vì vậy, trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách tính độ dài chuỗi theo nhiều cách khác nhau. Bạn có thể sử dụng trong mã của mình bất kỳ phương pháp nào phù hợp nhất với bạn.