Què són les cadenes a la programació en C?

Que Son Les Cadenes A La Programacio En C



En llenguatge de programació C, cordes són una manera de representar un grup de personatges. Són essencials perquè fan possible que els programadors treballin amb dades textuals als seus programes. A diferència d'altres llenguatges de programació, C no té un tipus de dades de cadena integrat. En canvi, les cadenes es creen mitjançant matrius de caràcters.

En aquest article, explicarem quines són les cadenes en C, com es declaren i com implementar-les a la programació en C.

Què són les cadenes a la programació en C?

Les cadenes són les matrius unidimensionals acabades per nul \0 personatge. S'utilitzen per emmagatzemar caràcters i textos i cada caràcter de la cadena ocupa un byte de memòria. A diferència dels altres llenguatges de programació, C no té el nom del tipus de dades com a cadena, en comptes d'això, emmagatzemeu les dades a la tipus char.







Com declarar cadenes a la programació C?

A la programació en C, podeu declarar una cadena utilitzant els mètodes següents:



Podeu assignar una cadena amb una mida predefinida. Per exemple, una cadena amb una mida límit de 8 caràcters s'ha de declarar com:



char prova [ 8 ] = 'Benvingut' ;

Un altre mètode per assignar una cadena en C és sense definir la mida de la matriu:





char prova [ ] = 'Benvingut' ;

També podeu assignar una cadena mitjançant una matriu de caràcters amb una mida definida:

char prova [ 8 ] = { 'IN' , 'És' , 'l' , 'c' , 'O' , 'm' , 'És' , ' \0 ' } ;

O podeu assignar una cadena a una matriu de caràcters inicialitzant-la caràcter per caràcter sense una mida definida:



char prova [ ] = { 'IN' , 'És' , 'l' , 'c' , 'O' , 'm' , 'És' , ' \0 ' } ;

El caràcter nul '\0' representa el final d'una cadena. Per determinar on acaba la cadena, és important afegir el caràcter nul al final de cada.

La representació de memòria de la cadena anterior serà la següent:

Índex 0 1 2 3 4 5 6 7
Variable EN És l c O m És \0

En C, el caràcter nul s'utilitza per determinar on acaba la cadena. Si el caràcter nul no està present, aquestes funcions continuaran processant la memòria més enllà del final de la cadena, la qual cosa pot provocar un comportament inesperat del codi.

El següent és un codi de programació C complet per imprimir una cadena.

#inclou

int principal ( ) {

char prova [ 8 ] = { 'IN' , 'És' , 'l' , 'c' , 'O' , 'm' , 'És' , ' \0 ' } ;

imprimirf ( 'La sortida és: %s \n ' , prova ) ;

tornar 0 ;

}

El programa anterior declara una prova de matriu de caràcters amb una mida de 8 i l'inicia amb els caràcters 'Benvingut' , i '\0' . A continuació, utilitza el printf() funció per imprimir la cadena emmagatzemada a la prova.

Sortida

Preneu l'entrada de la cadena de l'usuari a la programació en C

També podeu agafar una cadena d'entrada d'un usuari utilitzant el scanf() funció i per això, heu de definir la mida de la matriu de cadenes. El següent és un exemple de codi per prendre entrada de l'usuari:

#inclou

int principal ( )

{

char nom [ 10 ] ;

imprimirf ( 'Introduïu el nom:' ) ;

escanf ( '%s' , nom ) ;

imprimirf ( 'El nom introduït és: %s.' , nom ) ;

tornar 0 ;

}

El programa anterior demana a l'usuari que introdueixi un nom, el llegeix de l'usuari mitjançant la funció scanf() i l'emmagatzema al nom de la matriu de caràcters. A continuació, utilitza la funció printf() per imprimir el nom introduït.

Sortida

Llegir una cadena o una línia de text a la programació en C

Podeu utilitzar el fgets() funció per llegir les cadenes ja que s'utilitza per llegir una línia de text del flux d'entrada especificat i emmagatzemar-la en una matriu de caràcters. El codi escrit a continuació és un exemple d'aquest cas:

#inclou

int principal ( ) {

char línia [ 50 ] ;

imprimirf ( 'Introdueix una línia de text:' ) ;

fgets ( línia , mida de ( línia ) , stdin ) ;

imprimirf ( 'Has introduït: %s' , línia ) ;

tornar 0 ;

}

El programa C anterior utilitza el fgets() funció per llegir una línia de text introduïda per l'usuari des de l'entrada estàndard i emmagatzemar-la en una matriu de caràcters anomenada línia. A continuació, imprimeix la línia de text introduïda mitjançant la funció printf().

Sortida

Funcions de cadena d'ús habitual

Les cadenes de programació en C admeten diverses funcions que es poden utilitzar en programes per realitzar diferents accions. Algunes de les funcions suportades per una cadena en C s'esmenten a continuació:

Nom de la funció Finalitat de la Funció
strcat(a1,a2); Afegeix el contingut de la cadena a2 al final de la cadena a1. Després de l'operació, la cadena resultant s'emmagatzemarà a a1.
strcpy(a1,a2); Aquesta funció copia el contingut de la cadena a2 a la cadena a1. Després de l'operació, a1 contindrà una còpia exacta de a2, inclòs el caràcter nul final.
strlen(a1); Retorna la longitud de la cadena a1, és a dir, el nombre total de caràcters situats a la cadena abans de l'últim caràcter final o nul.
strchr(a1,ch1); Aquesta funció mou el punter a la primera ocurrència del caràcter ch1 a la cadena a1. Aquesta funció retorna un punter nul si no es troba ch1 a la cadena a1.

Nota: C proporciona una biblioteca estàndard anomenada que proporciona diverses funcions per treballar amb cadenes en C. Aquestes funcions inclouen operacions com copiar cadenes, concatenar cadenes i molt més.

Conclusió

La cadena és la col·lecció de la seqüència lineal en els programes C. Cada caràcter emmagatzema un byte i es representa amb cometes dobles. C proporciona la biblioteca estàndard i podeu realitzar tasques complicades fàcilment mitjançant funcions de cadena. A la guia anterior, hem comentat diferents maneres de declarar la cadena i d'inicialització. També hem demostrat el pas de la cadena a una funció amb un codi d'exemple.