Ce sunt șirurile de caractere în programarea C?

Ce Sunt Sirurile De Caractere In Programarea C



În limbajul de programare C, siruri de caractere sunt o modalitate de a reprezenta un grup de personaje. Ele sunt esențiale deoarece fac posibil ca programatorii să lucreze cu date textuale în programele lor. Spre deosebire de alte limbaje de programare, C nu are un tip de date șir încorporat. În schimb, șirurile sunt create folosind matrice de caractere.

În acest articol, vom explica ce șiruri sunt în C, cum sunt declarate și cum să le implementăm în programarea C.

Ce sunt șirurile de caractere în programarea C?

Șirurile de caractere sunt tablourile unidimensionale terminate de nul \0 caracter. Sunt folosite pentru stocarea caracterelor și textelor și fiecare caracter din șir ocupă un octet din memorie. Spre deosebire de celelalte limbaje de programare, C nu are numele tipului de date ca șir, în loc de acesta, stocați datele în tip char.







Cum se declară șiruri de caractere în programarea C?

În programarea C, puteți declara un șir folosind următoarele metode:



Puteți atribui un șir cu o dimensiune predefinită. De exemplu, un șir cu dimensiunea limită de 8 caractere ar trebui declarat ca:



char Test [ 8 ] = 'Bine ati venit' ;

O altă metodă de a atribui un șir în C este fără a defini dimensiunea matricei:





char Test [ ] = 'Bine ati venit' ;

De asemenea, puteți aloca un șir folosind o matrice de caractere cu o dimensiune definită:

char Test [ 8 ] = { 'ÎN' , 'Este' , 'l' , 'c' , 'O' , 'm' , 'Este' , ' \0 ' } ;

Sau puteți aloca un șir unei matrice de caractere inițialându-l caracter cu caracter fără o dimensiune definită:



char Test [ ] = { 'ÎN' , 'Este' , 'l' , 'c' , 'O' , 'm' , 'Este' , ' \0 ' } ;

The caracter nul „\0” reprezintă sfârșitul unui șir. Pentru a determina unde se termină șirul, este important să adăugați caracterul nul la sfârșitul fiecărui.

Reprezentarea în memorie a șirului de mai sus va fi după cum urmează:

Index 0 1 2 3 4 5 6 7
Variabil ÎN Este l c O m Este \0

În C, caracterul nul este folosit pentru a determina unde se termină șirul. Dacă caracterul nul nu este prezent, aceste funcții vor continua să proceseze memoria dincolo de sfârșitul șirului, ceea ce poate duce la un comportament neașteptat al codului.

Următorul este un cod complet de programare C pentru tipărirea unui șir.

#include

int principal ( ) {

char Test [ 8 ] = { 'ÎN' , 'Este' , 'l' , 'c' , 'O' , 'm' , 'Este' , ' \0 ' } ;

printf ( „Ieșirea este: %s \n ' , Test ) ;

întoarcere 0 ;

}

Programul de mai sus declară un test de matrice de caractere cu o dimensiune de 8 și îl inițializează cu caracterele 'Bine ati venit' , și „\0” . Apoi folosește printf() funcția de tipărire a șirului stocat în test.

Ieșire

Preluați intrarea șirului de la utilizator în programarea C

De asemenea, puteți prelua șirul de intrare de la un utilizator folosind scanf() funcția și pentru aceasta, trebuie să definiți dimensiunea matricei de șiruri. Următorul este un exemplu de cod pentru preluarea intrărilor de la utilizator:

#include

int principal ( )

{

char Nume [ 10 ] ;

printf ( 'Introdu numele:' ) ;

scanf ( „%s” , Nume ) ;

printf ( „Numele introdus este: %s.” , Nume ) ;

întoarcere 0 ;

}

Programul de mai sus solicită utilizatorului să introducă un nume, îl citește de la utilizator folosind funcția scanf() și îl stochează în numele matricei de caractere. Apoi folosește funcția printf() pentru a tipări numele introdus.

Ieșire

Citiți un șir sau o linie de text în programarea C

Puteți folosi fgets() funcția de a citi șirurile de caractere, deoarece este folosită pentru a citi o linie de text din fluxul de intrare specificat și pentru a o stoca într-o matrice de caractere. Codul de mai jos este un exemplu de astfel de caz:

#include

int principal ( ) {

char linia [ cincizeci ] ;

printf ( „Introduceți un rând de text:” ) ;

fgets ( linia , dimensiunea ( linia ) , stdin ) ;

printf ( „Ați introdus: %s” , linia ) ;

întoarcere 0 ;

}

Programul C de mai sus folosește fgets() funcția de a citi o linie de text introdusă de utilizator din intrarea standard și de a o stoca într-o matrice de caractere numită linie. Apoi, tipărește linia de text introdusă folosind funcția printf().

Ieșire

Funcții șir utilizate în mod obișnuit

Șirurile din programarea C suportă diverse funcții care pot fi folosite în programe pentru a efectua diferite acțiuni. Unele dintre funcțiile suportate de un șir în C sunt menționate mai jos:

Numele funcției Scopul funcției
strcat(a1,a2); Adaugă conținutul șirului a2 la sfârșitul șirului a1. După operație, șirul rezultat va fi stocat în a1.
strcpy(a1,a2); Această funcție copiază conținutul șirului a2 în șirul a1. După operație, a1 va conține o copie exactă a lui a2, inclusiv caracterul nul final.
strlen(a1); Returnează lungimea șirului a1, adică numărul total de caractere situate în șir înainte de ultimul caracter final sau nul.
strchr(a1,ch1); Această funcție mută indicatorul la prima apariție a caracterului ch1 din șirul a1. Această funcție returnează un pointer nul dacă ch1 nu este găsit în șirul a1.

Notă: C oferă o bibliotecă standard numită <șir.h> care oferă diverse funcții pentru lucrul cu șiruri în C. Aceste funcții includ operații precum copierea șirurilor, concatenarea șirurilor și multe altele.

Concluzie

Șirul este colecția secvenței liniare din programele C. Fiecare caracter stochează un octet și este reprezentat cu ghilimele duble. C oferă biblioteca standard <șir.h> și puteți efectua sarcini complicate cu ușurință prin funcții șir. În ghidul de mai sus, am discutat diferite moduri de declarare a șirului și de inițializare. Am demonstrat, de asemenea, trecerea șirului la o funcție cu un exemplu de cod.