Chuỗi trong lập trình C là gì?

Chuoi Trong Lap Trinh C La Gi



Trong ngôn ngữ lập trình C, dây là một cách để đại diện cho một nhóm các ký tự. Chúng rất cần thiết vì chúng giúp lập trình viên có thể làm việc với dữ liệu văn bản trong chương trình của họ. Không giống như một số ngôn ngữ lập trình khác, C không có kiểu dữ liệu chuỗi tích hợp. Thay vào đó, các chuỗi được tạo bằng mảng ký tự.

Trong bài viết này, chúng tôi sẽ giải thích các chuỗi trong C là gì, cách chúng được khai báo và cách triển khai chúng trong lập trình C.

Chuỗi trong lập trình C là gì?

Chuỗi là mảng một chiều được kết thúc bởi vô giá trị \0 tính cách. Chúng được sử dụng để lưu trữ các ký tự và văn bản và mỗi ký tự trong chuỗi chiếm một byte bộ nhớ. Khác với các ngôn ngữ lập trình khác, C không có tên kiểu dữ liệu là chuỗi, thay vào đó, bạn lưu trữ dữ liệu trong loại ký tự.







Cách khai báo chuỗi trong lập trình C?

Trong lập trình C, bạn có thể khai báo một chuỗi bằng các phương thức sau:



Bạn có thể gán một chuỗi với kích thước được xác định trước. Ví dụ: một chuỗi có kích thước giới hạn 8 ký tự nên được khai báo là:



than Bài kiểm tra [ số 8 ] = 'Chào mừng' ;

Một phương pháp khác để gán một chuỗi trong C là không xác định kích thước của mảng:





than Bài kiểm tra [ ] = 'Chào mừng' ;

Bạn cũng có thể gán một chuỗi bằng cách sử dụng một mảng ký tự có kích thước xác định:

than Bài kiểm tra [ số 8 ] = { 'TRONG' , 'Nó là' , 'tôi' , 'c' , 'O' , 'tôi' , 'Nó là' , ' \0 ' } ;

Hoặc bạn có thể gán một chuỗi cho một mảng ký tự bằng cách khởi tạo nó theo từng ký tự mà không có kích thước xác định:



than Bài kiểm tra [ ] = { 'TRONG' , 'Nó là' , 'tôi' , 'c' , 'O' , 'tôi' , 'Nó là' , ' \0 ' } ;

Các ký tự rỗng “\0” đại diện cho sự kết thúc của một chuỗi. Để xác định vị trí kết thúc của chuỗi, điều quan trọng là phải thêm ký tự null vào cuối mỗi ký tự.

Biểu diễn bộ nhớ của chuỗi trên sẽ như sau:

Mục lục 0 1 2 3 4 5 6 7
Biến đổi TRONG Nó là tôi c Ô tôi Nó là \0

Trong C, ký tự null được sử dụng để xác định nơi kết thúc chuỗi. Nếu ký tự null không xuất hiện, các hàm này sẽ tiếp tục xử lý bộ nhớ ngoài phần cuối của chuỗi, có khả năng dẫn đến hành vi không mong muốn của mã.

Sau đây là mã lập trình C hoàn chỉnh để in một chuỗi.

#include

int chủ yếu ( ) {

than Bài kiểm tra [ số 8 ] = { 'TRONG' , 'Nó là' , 'tôi' , 'c' , 'O' , 'tôi' , 'Nó là' , ' \0 ' } ;

bản inf ( 'Đầu ra là: %s \N ' , Bài kiểm tra ) ;

trở lại 0 ;

}

Chương trình trên khai báo kiểm tra một mảng ký tự có kích thước là 8 và khởi tạo nó với các ký tự 'Chào mừng' , Và ‘\0’ . Sau đó, nó sử dụng printf() để in ra chuỗi được lưu trữ trong bài kiểm tra.

đầu ra

Lấy đầu vào của chuỗi từ người dùng trong lập trình C

Bạn cũng có thể lấy chuỗi đầu vào từ người dùng bằng cách sử dụng scanf() và để làm được điều đó, bạn phải xác định kích thước mảng chuỗi. Sau đây là mã ví dụ để lấy đầu vào từ người dùng:

#include

int chủ yếu ( )

{

than tên [ 10 ] ;

bản inf ( 'Nhập tên:' ) ;

quét ( '%S' , tên ) ;

bản inf ( 'Tên đã nhập là: %s.' , tên ) ;

trở lại 0 ;

}

Chương trình trên nhắc người dùng nhập tên, đọc nó từ người dùng bằng hàm scanf() và lưu nó trong tên mảng ký tự. Sau đó, nó sử dụng hàm printf() để in tên đã nhập.

đầu ra

Đọc chuỗi hoặc dòng văn bản trong lập trình C

Bạn có thể dùng fgets() chức năng đọc các chuỗi vì nó được sử dụng để đọc một dòng văn bản từ luồng đầu vào đã chỉ định và lưu trữ nó vào một mảng ký tự. Mã được viết dưới đây là một ví dụ về trường hợp như vậy:

#include

int chủ yếu ( ) {

than đường kẻ [ năm mươi ] ;

bản inf ( 'Nhập một dòng văn bản:' ) ;

fgets ( đường kẻ , kích thước của ( đường kẻ ) , tiêu chuẩn ) ;

bản inf ( 'Bạn đã nhập: %s' , đường kẻ ) ;

trở lại 0 ;

}

Chương trình C trên sử dụng fgets() chức năng đọc một dòng văn bản do người dùng nhập từ đầu vào tiêu chuẩn và lưu trữ nó trong một mảng ký tự có tên là dòng. Sau đó, nó in dòng văn bản đã nhập bằng hàm printf().

đầu ra

Các hàm chuỗi thường được sử dụng

Các chuỗi trong lập trình C hỗ trợ các chức năng khác nhau có thể được sử dụng trong các chương trình để thực hiện các hành động khác nhau. Một số chức năng được hỗ trợ bởi một chuỗi trong C được đề cập dưới đây:

Tên chức năng Mục đích của chức năng
strcat(a1,a2); Nối nội dung của chuỗi a2 vào cuối chuỗi a1. Sau khi hoạt động, chuỗi kết quả sẽ được lưu trữ trong a1.
strcpy(a1,a2); Hàm này sao chép nội dung của chuỗi a2 sang chuỗi a1. Sau thao tác, a1 sẽ chứa một bản sao chính xác của a2, bao gồm cả ký tự null kết thúc.
strlen(a1); Trả về độ dài của chuỗi a1, tức là tổng số ký tự nằm trong chuỗi trước ký tự kết thúc cuối cùng hoặc ký tự null.
strchr(a1,ch1); Hàm này di chuyển con trỏ đến vị trí xuất hiện đầu tiên của ký tự ch1 trong chuỗi a1. Hàm này trả về một con trỏ null nếu không tìm thấy ch1 trong chuỗi a1.

Ghi chú: C cung cấp một thư viện chuẩn gọi là cung cấp các hàm khác nhau để làm việc với chuỗi trong C. Các hàm này bao gồm các thao tác như sao chép chuỗi, nối chuỗi, v.v.

Phần kết luận

Chuỗi là tập hợp của chuỗi tuyến tính trong các chương trình C. Mỗi ký tự lưu trữ một byte và được biểu thị bằng dấu ngoặc kép. C cung cấp thư viện chuẩn và bạn có thể thực hiện các tác vụ phức tạp một cách dễ dàng thông qua các hàm chuỗi. Trong hướng dẫn trên, chúng tôi đã thảo luận về các cách khác nhau để khai báo chuỗi và khởi tạo. Chúng tôi cũng đã chứng minh việc chuyển chuỗi tới hàm bằng mã ví dụ.