Hướng dẫn difference between string and character array in c++ - sự khác biệt giữa chuỗi và mảng ký tự trong c ++

Chuỗi là một chuỗi các ký tự được coi là một mục dữ liệu duy nhất và bị chấm dứt bởi một ký tự null '\0'. Hãy nhớ rằng ngôn ngữ C không hỗ trợ các chuỗi dưới dạng loại dữ liệu. Một chuỗi thực sự là một mảng một chiều của các ký tự trong ngôn ngữ C. Chúng thường được sử dụng để tạo ra các chương trình có ý nghĩa và dễ đọc. is a sequence of characters that are treated as a single data item and terminated by a null character '\0'. Remember that the C language does not support strings as a data type. A string is actually a one-dimensional array of characters in C language. These are often used to create meaningful and readable programs.

Nếu bạn không biết một mảng trong C có nghĩa là gì, bạn có thể kiểm tra hướng dẫn mảng C để biết về mảng bằng ngôn ngữ C. Trước khi tiếp tục, hãy kiểm tra các bài viết sau:

  • C gọi chức năng

  • C biến

  • C Kiểu dữ liệu

  • C Quy tắc Cú pháp

Ví dụ: chuỗi "home" chứa 5 ký tự bao gồm ký tự '\0' được tự động thêm bởi trình biên dịch ở cuối chuỗi. The string "home" contains 5 characters including the '\0' character which is automatically added by the compiler at the end of the string.

Hướng dẫn difference between string and character array in c++ - sự khác biệt giữa chuỗi và mảng ký tự trong c ++

Khai thác và khởi tạo một biến chuỗi:

// valid
char name[13] = "StudyTonight";        
char name[10] = {'c','o','d','e','\0'};      

// Illegal
char ch[3] = "hello";    
char str[4];
str = "hello";  

Đầu vào chuỗi và đầu ra:

  • %s định dạng định dạng để đọc một đầu vào chuỗi từ thiết bị đầu cuối. format specifier to read a string input from the terminal.

  • Nhưng chức năng Scanf (), chấm dứt đầu vào của nó trên không gian trắng đầu tiên mà nó gặp phải.

  • Chỉnh sửa bộ chuyển đổi mã %[..] có thể được sử dụng để đọc một dòng chứa nhiều loại ký tự, bao gồm cả không gian trắng. that can be used to read a line containing a variety of characters, including white spaces.

  • Hàm gets() cũng có thể được sử dụng để đọc chuỗi ký tự với khoảng trắng

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
char text[20];
gets(text);
printf("%s", text);

Chức năng xử lý chuỗi:

C ngôn ngữ hỗ trợ một số lượng lớn các hàm xử lý chuỗi có thể được sử dụng để thực hiện nhiều thao tác chuỗi. Các chức năng này được đóng gói trong thư viện chuỗi.h. Do đó, bạn phải bao gồm tệp tiêu đề String.h trong các chương trình của bạn để sử dụng các chức năng này.string.h library. Hence, you must include string.h header file in your programs to use these functions.

Sau đây là các chức năng xử lý chuỗi được sử dụng phổ biến nhất.

Phương phápSự mô tả
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
0
Nó được sử dụng để kết hợp (kết hợp) hai chuỗi
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
1
Nó được sử dụng để hiển thị độ dài của một chuỗi
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
2
Nó được sử dụng để hiển thị mặt trái của chuỗi
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
3
Sao chép một chuỗi vào một chuỗi khác
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
4
Nó được sử dụng để so sánh hai chuỗi

Hàm char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 0 trong C:

Hướng dẫn difference between string and character array in c++ - sự khác biệt giữa chuỗi và mảng ký tự trong c ++

Syntax:

strcat("hello", "world");

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
0 sẽ thêm chuỗi "thế giới" vào "xin chào", tức là ouput = Helloworld."world" to "hello" i.e ouput = helloworld.

Chức năng char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 1 và char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 4:

char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
1 sẽ trả về độ dài của chuỗi được truyền cho nó và
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
4 sẽ trả về chênh lệch ASCII giữa ký tự chưa từng có đầu tiên của hai chuỗi.

 int j = strlen("studytonight");
 int i=strcmp("study ", "tonight");
printf("%d %d",j,i);


12 -1

char str[20]; printf("Enter a string"); scanf("%[^\n]", &str); printf("%s", str); 3 Hàm:

Nó sao chép đối số chuỗi thứ hai lên đối số chuỗi thứ nhất.

Hướng dẫn difference between string and character array in c++ - sự khác biệt giữa chuỗi và mảng ký tự trong c ++

Ví dụ về chức năng
char str[20];
printf("Enter a string");
scanf("%[^\n]", &str); 
printf("%s", str);
3:

#include
#include

int main()
{
    char s1[50], s2[50];

    strcpy(s1, "StudyTonight");     
    strcpy(s2, s1);     

    printf("%s\n", s2);
    
    return(0);
}


Nghiên cứu

char text[20]; gets(text); printf("%s", text);3 Hàm:

Nó được sử dụng để đảo ngược biểu thức chuỗi đã cho.

Hướng dẫn difference between string and character array in c++ - sự khác biệt giữa chuỗi và mảng ký tự trong c ++

Đoạn mã mã cho
char text[20];
gets(text);
printf("%s", text);
3:

#include 

int main()
{ 
    char s1[50]; 
  
    printf("Enter your string: "); 
    gets(s1);  
    printf("\nYour reverse string is: %s",strrev(s1)); 
    return(0); 
}


Nhập chuỗi của bạn: Nghiên cứu Chuỗi ngược của bạn là: thgginotyduts
Your reverse string is: thginotyduts

Hướng dẫn liên quan:

  • C mảng

  • C chức năng

  • C Con trỏ

  • C cấu trúc



Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    ĐọcDifferences between Strings and Character Arrays:

    Bàn luậnKhông giống như các mảng và chuỗi ký tự C/C ++ là hai thứ khác nhau trong Java. Cả hai mảng ký tự và chuỗi là một tập hợp các ký tự nhưng khác nhau về các thuộc tính. Sự khác biệt giữa chuỗi và mảng ký tự:
    DâyMảng ký tự
    Chuỗi đề cập đến một chuỗi các ký tự được biểu diễn dưới dạng một kiểu dữ liệu duy nhất.Mảng ký tự là một bộ sưu tập tuần tự của loại dữ liệu char.
    Chuỗi là bất biến.Mảng ký tự là có thể thay đổi.
    Được xây dựng trong các hàm như Subring (), charat (), vv có thể được sử dụng trên các chuỗi.Không có chức năng tích hợp nào được cung cấp trong Java cho các hoạt động trên các mảng ký tự.
    ‘+Có thể được sử dụng để nối các chuỗi với nhau để tạo thành một chuỗi mới.‘+Không thể được sử dụng để nối hai mảng ký tự.
    Phương thức charat () có thể được sử dụng để truy cập các ký tự tại một chỉ mục cụ thể trong một chuỗi.Các ký tự trong một mảng ký tự có thể được truy cập bình thường như trong bất kỳ ngôn ngữ nào khác bằng cách sử dụng [].
    Chuỗi có thể được lưu trữ theo bất kỳ cách nào trong bộ nhớ.String Constant Pool. Các phần tử trong mảng ký tự được lưu trữ liên tục trong việc tăng vị trí bộ nhớ.Heap.
    Tất cả các chuỗi được lưu trữ trong nhóm không đổi chuỗi.Tất cả các mảng ký tự được lưu trữ trong đống.
    Không ưa thích để lưu trữ mật khẩu trong Java.Ưa thích để lưu trữ mật khẩu trong Java.String Constructor. Eg: char[] a = {‘G’, ‘E’, ‘E’, ‘K’, ‘S’}; String A = new String(a);

    Là mảng ký tự và chuỗi giống nhau?

    Không. Chuỗi được triển khai để lưu trữ chuỗi các ký tự và được biểu diễn dưới dạng một kiểu dữ liệu và thực thể duy nhất.Mặt khác, mảng ký tự là một bộ sưu tập tuần tự của loại dữ liệu trong đó mỗi phần tử là một thực thể riêng biệt.

    Sự khác biệt giữa một chuỗi và một mảng là gì?

    Sự khác biệt chính giữa mảng và chuỗi là một mảng là cấu trúc dữ liệu chứa một tập hợp các phần tử có cùng loại dữ liệu, trong khi một chuỗi là một tập hợp các ký tự.an Array is a data structure that holds a collection of elements having the same data types, while a String is a collection of characters.

    Sự khác biệt giữa một mảng thông thường và một mảng ký tự là gì?

    Một mảng số nguyên là một đối tượng có khả năng giữ các giá trị của mảng int.a char là một đối tượng có khả năng giữ các giá trị của loại char.Không có sự khác biệt nào khác giữa họ.Ngoài ra, một mảng char không bị chấm dứt với một ký tự Sentinel. A char array is an object capable of holding values of type char. There are no other differences between them. Also, a char array is not terminated with a sentinel character.