Wat zijn strings in C-programmering?

Wat Zijn Strings In C Programmering



In programmeertaal C, snaren zijn een manier om een ​​groep personages weer te geven. Ze zijn essentieel omdat ze het voor programmeurs mogelijk maken om met tekstuele gegevens in hun programma's te werken. In tegenstelling tot sommige andere programmeertalen heeft C geen ingebouwd string-gegevenstype. In plaats daarvan worden de tekenreeksen gemaakt met behulp van tekenarrays.

In dit artikel leggen we uit wat strings in C zijn, hoe ze worden gedeclareerd en hoe ze in C-programmering kunnen worden geïmplementeerd.

Wat zijn strings in C-programmering?

Strings zijn de eendimensionale arrays die worden beëindigd door de nul \0 karakter. Ze worden gebruikt voor het opslaan van karakters en teksten en elk karakter in de string neemt een byte van het geheugen in beslag. In tegenstelling tot de andere programmeertalen heeft C niet de naam van het gegevenstype als tekenreeks, in plaats daarvan slaat u de gegevens op in de char-type.







Hoe strings in C-programmering te declareren?

In C-programmering kunt u een string declareren met behulp van de volgende methoden:



U kunt een tekenreeks met een vooraf gedefinieerde grootte toewijzen. Een string met een limiet van 8 tekens moet bijvoorbeeld worden gedeclareerd als:



char test [ 8 ] = 'welkom' ;

Een andere methode om een ​​string toe te wijzen in C is zonder de grootte van de array te definiëren:





char test [ ] = 'welkom' ;

U kunt ook een tekenreeks toewijzen met behulp van een tekenarray met een gedefinieerde grootte:

char test [ 8 ] = { 'IN' , 'Het is' , 'ik' , 'C' , 'O' , 'M' , 'Het is' , ' \0 ' } ;

Of u kunt een tekenreeks toewijzen aan een tekenarray door deze teken voor teken te initialiseren zonder een gedefinieerde grootte:



char test [ ] = { 'IN' , 'Het is' , 'ik' , 'C' , 'O' , 'M' , 'Het is' , ' \0 ' } ;

De null-teken '\0' vertegenwoordigt het einde van een string. Om te bepalen waar de string eindigt, is het belangrijk om het null-teken aan het einde van elke toe te voegen.

De geheugenrepresentatie van de bovenstaande string is als volgt:

Inhoudsopgave 0 1 2 3 4 5 6 7
Variabel IN Het is ik C O M Het is \0

In C wordt het null-teken gebruikt om te bepalen waar de string eindigt. Als het null-teken niet aanwezig is, blijven deze functies geheugen verwerken tot voorbij het einde van de tekenreeks, wat mogelijk kan leiden tot onverwacht gedrag van de code.

Het volgende is een complete C-programmeercode voor het afdrukken van een string.

#include

int voornaamst ( ) {

char test [ 8 ] = { 'IN' , 'Het is' , 'ik' , 'C' , 'O' , 'M' , 'Het is' , ' \0 ' } ;

printf ( 'De uitvoer is: %s \N ' , test ) ;

opbrengst 0 ;

}

Het bovenstaande programma declareert een karakterarraytest met een grootte van 8 en initialiseert deze met de karakters 'Welkom' , En ‘\0’ . Het gebruikt dan de printf() functie om de string die in de test is opgeslagen af ​​te drukken.

Uitgang

Neem de invoer van de string van de gebruiker in C-programmering

U kunt ook een invoerreeks van een gebruiker gebruiken met behulp van de scannen() functie en daarvoor moet u de tekenreeksarraygrootte definiëren. Het volgende is een voorbeeldcode voor het ontvangen van invoer van de gebruiker:

#include

int voornaamst ( )

{

char naam [ 10 ] ;

printf ( 'Voer naam in:' ) ;

scannen ( '%S' , naam ) ;

printf ( 'De ingevoerde naam is: %s.' , naam ) ;

opbrengst 0 ;

}

Het bovenstaande programma vraagt ​​de gebruiker om een ​​naam in te voeren, leest deze van de gebruiker met behulp van de functie scanf() en slaat deze op in de karakterarraynaam. Vervolgens gebruikt het de functie printf() om de ingevoerde naam af te drukken.

Uitgang

Lees een tekenreeks of regel tekst in C-programmering

U kunt de fgets() functie om de tekenreeksen te lezen zoals deze wordt gebruikt om een ​​regel tekst uit de opgegeven invoerstroom te lezen en op te slaan in een tekenarray. De hieronder geschreven code is een voorbeeld van zo'n geval:

#include

int voornaamst ( ) {

char lijn [ vijftig ] ;

printf ( 'Voer een regel tekst in: ' ) ;

fgets ( lijn , De grootte van ( lijn ) , standaard ) ;

printf ( 'Je hebt ingevoerd: %s' , lijn ) ;

opbrengst 0 ;

}

Het bovenstaande C-programma gebruikt de fgets() functie om een ​​tekstregel die door de gebruiker is ingevoerd uit de standaardinvoer te lezen en op te slaan in een tekenarray met de naam regel. Vervolgens drukt het de ingevoerde regel tekst af met behulp van de functie printf().

Uitgang

Veelgebruikte tekenreeksfuncties

De strings in C-programmering ondersteunen verschillende functies die in programma's kunnen worden gebruikt om verschillende acties uit te voeren. Enkele van de functies die worden ondersteund door een tekenreeks in C worden hieronder vermeld:

Naam van de functie Doel van de Functie
strcat(a1,a2); Voegt de inhoud van tekenreeks a2 toe aan het einde van tekenreeks a1. Na de bewerking wordt de resulterende string opgeslagen in a1.
strcpy(a1,a2); Deze functie kopieert de inhoud van string a2 naar string a1. Na de bewerking bevat a1 een exacte kopie van a2, inclusief het afsluitende null-teken.
strlen(a1); Retourneert de lengte van tekenreeks a1, d.w.z. het totale aantal tekens in de tekenreeks vóór het laatste afsluitende of null-teken.
strchr(a1,ch1); Deze functie verplaatst de aanwijzer naar het eerste voorkomen van karakter ch1 in string a1. Deze functie retourneert een null-pointer als ch1 niet wordt gevonden in string a1.

Opmerking: C biedt een standaardbibliotheek genaamd die verschillende functies biedt voor het werken met tekenreeksen in C. Deze functies omvatten bewerkingen zoals het kopiëren van tekenreeksen, het samenvoegen van tekenreeksen en meer.

Conclusie

De string is de verzameling van de lineaire reeks in de C-programma's. Elk teken slaat één byte op en wordt weergegeven met dubbele aanhalingstekens. C biedt de standaardbibliotheek en u kunt ingewikkelde taken eenvoudig uitvoeren via stringfuncties. In de bovenstaande gids hebben we verschillende manieren besproken voor de declaratie van de string en initialisatie. We hebben ook het doorgeven van de string aan een functie gedemonstreerd met een voorbeeldcode.