Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C trình bày các khái niệm về chuỗi bằng cách sử dụng Con trỏ

Một mảng các ký tự được gọi là một chuỗi.

Tuyên bố

Cú pháp khai báo một mảng như sau -

char stringname [size];

Ví dụ - chuỗi ký tự char [50]; chuỗi dài 50 ký tự

Khởi tạo

  • Sử dụng hằng số ký tự -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • Sử dụng hằng số chuỗi -
char string[10] = "Hello":;

Truy cập - Có một chuỗi điều khiển "% s" được sử dụng để truy cập vào chuỗi cho đến khi nó gặp ‘\ 0’.

Bây giờ, chúng ta hãy hiểu mảng con trỏ trong ngôn ngữ lập trình C.

Mảng con trỏ:(tới chuỗi)

  • Đây là một mảng có các phần tử là ptrs cho phần bổ sung cơ sở của chuỗi.
  • Nó được khai báo và khởi tạo như sau -
char *a[ ] = {"one", "two", "three"};

Ở đây, [0] là một con trỏ đến phần bổ sung cơ sở của chuỗi "một".

a [1] là một con trỏ đến phần bổ sung cơ sở của chuỗi "hai".

a [2] là một con trỏ đến phần bổ sung cơ sở của chuỗi "ba".

Ví dụ

Sau đây là một chương trình C trình bày các khái niệm về chuỗi -

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers//
   char *s="Meghana";
   //Printing required O/p//
   printf("%s\n",s);//Meghana//
   printf("%c\n",s);//If you take %c, we should have * for string. Else you
   will see no output////
   printf("%c\n",*s);//M because it's the character in the base address//
   printf("%c\n",*(s+4));//Fifth letter a because it's the character in the (base address+4)th position//
   printf("%c\n",*s+5);//R because it will consider character in the base address + 5 in alphabetical order//
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Meghana
M
a
R

Ví dụ 2

Hãy xem xét một ví dụ khác.

Dưới đây là một chương trình C trình bày các khái niệm về in các ký tự bằng cách sử dụng toán tử tăng sau và tăng trước -

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers//
   char *s="Meghana";
   //Printing required O/p//
   printf("%s\n",s);//Meghana//
   printf("%c\n",++s+3);//s becomes 2nd position - 'e'. O/p is Garbage value//
   printf("%c\n",s+++3);//s becomes 3rd position - 'g'. O/p is Garbage value//
   printf("%c\n",*++s+3);//s=3 becomes incremented by 1 = 'h'.s becomes 4th
   position.h+3 - k is the O/p//
   printf("%c\n",*s+++3);//s=4 - h is the value. h=3 = k will be the O/p. S is incremented by 1 now. s=5th position//
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Meghana
d
d
k
k