Što su nizovi u C programiranju?

Sto Su Nizovi U C Programiranju



U programskom jeziku C, žice su način predstavljanja grupe znakova. Oni su bitni jer programerima omogućuju rad s tekstualnim podacima u njihovim programima. Za razliku od nekih drugih programskih jezika, C nema ugrađenu vrstu podataka string. Umjesto toga, nizovi se stvaraju korištenjem nizova znakova.

U ovom ćemo članku objasniti što su nizovi u C-u, kako se deklariraju i kako ih implementirati u C programiranje.

Što su nizovi u C programiranju?

Nizovi su jednodimenzionalni nizovi koji završavaju s nula \0 lik. Koriste se za pohranu znakova i tekstova, a svaki znak u nizu zauzima jedan bajt memorije. Za razliku od drugih programskih jezika, C nema naziv tipa podataka kao niz, umjesto toga podatke pohranjujete u tip char.







Kako deklarirati nizove u C programiranju?

U C programiranju, niz možete deklarirati pomoću sljedećih metoda:



Možete dodijeliti niz s unaprijed definiranom veličinom. Na primjer, niz s ograničenjem veličine od 8 znakova trebao bi se deklarirati kao:



char test [ 8 ] = 'Dobrodošli' ;

Druga metoda dodjele niza u C-u je bez definiranja veličine niza:





char test [ ] = 'Dobrodošli' ;

Također možete dodijeliti niz pomoću niza znakova definirane veličine:

char test [ 8 ] = { 'U' , 'To je' , 'l' , 'c' , 'O' , 'm' , 'To je' , ' \0 ' } ;

Ili možete dodijeliti niz nizu znakova tako da ga inicijalizirate znak po znak bez definirane veličine:



char test [ ] = { 'U' , 'To je' , 'l' , 'c' , 'O' , 'm' , 'To je' , ' \0 ' } ;

The nulti znak “\0” predstavlja kraj niza. Da biste odredili gdje niz završava, važno je dodati null znak na kraju svakog.

Memorijska reprezentacija gornjeg niza bit će sljedeća:

Indeks 0 1 2 3 4 5 6 7
Varijabilna U to je l c O m to je \0

U C-u, null znak se koristi za određivanje gdje string završava. Ako nulti znak nije prisutan, ove će funkcije nastaviti obrađivati ​​memoriju nakon kraja niza, što može dovesti do neočekivanog ponašanja koda.

Slijedi potpuni C programski kod za ispis niza.

#include

int glavni ( ) {

char test [ 8 ] = { 'U' , 'To je' , 'l' , 'c' , 'O' , 'm' , 'To je' , ' \0 ' } ;

printf ( 'Izlaz je: %s \n ' , test ) ;

povratak 0 ;

}

Gornji program deklarira test niza znakova veličine 8 i inicijalizira ga znakovima 'W', 'e', ​​'l', 'c', 'o', 'm', 'e' , i '\0' . Zatim koristi printf() funkcija za ispis niza pohranjenog u testu.

Izlaz

Uzmite unos niza od korisnika u C programiranju

Također možete uzeti ulazni niz od korisnika pomoću scanf() funkciju i za to morate definirati veličinu niza nizova. Slijedi primjer koda za primanje unosa od korisnika:

#include

int glavni ( )

{

char Ime [ 10 ] ;

printf ( 'Unesite ime:' ) ;

skenirati ( '%s' , Ime ) ;

printf ( 'Uneseno ime je: %s.' , Ime ) ;

povratak 0 ;

}

Gore navedeni program traži od korisnika da unese ime, čita ga od korisnika pomoću funkcije scanf() i pohranjuje ga u ime niza znakova. Zatim koristi funkciju printf() za ispis unesenog imena.

Izlaz

Pročitajte niz ili redak teksta u C programiranju

Možete koristiti fgets() funkcija za čitanje nizova jer se koristi za čitanje retka teksta iz navedenog ulaznog toka i njegovo pohranjivanje u niz znakova. Dolje napisani kod je primjer takvog slučaja:

#include

int glavni ( ) {

char crta [ pedeset ] ;

printf ( 'Unesite redak teksta: ' ) ;

fgets ( crta , veličina ( crta ) , stdin ) ;

printf ( 'Unijeli ste: %s' , crta ) ;

povratak 0 ;

}

Gornji C program koristi fgets() funkcija za čitanje retka teksta koji je korisnik unio sa standardnog unosa i pohranjivanje u niz znakova nazvan redak. Zatim ispisuje uneseni redak teksta pomoću funkcije printf().

Izlaz

Često korištene funkcije niza

Nizovi u C programiranju podržavaju razne funkcije koje se mogu koristiti u programima za izvođenje različitih radnji. Neke od funkcija podržanih nizom u C-u navedene su u nastavku:

Naziv funkcije Svrha funkcije
strcat(a1,a2); Dodaje sadržaj niza a2 na kraj niza a1. Nakon operacije, rezultirajući niz će biti pohranjen u a1.
strcpy(a1,a2); Ova funkcija kopira sadržaj niza a2 u niz a1. Nakon operacije, a1 će sadržavati točnu kopiju a2, uključujući završni nulti znak.
strlen(a1); Vraća duljinu niza a1, tj. ukupan broj znakova koji se nalaze u nizu prije posljednjeg završnog ili nultog znaka.
strchr(a1,ch1); Ova funkcija pomiče pokazivač na prvo pojavljivanje znaka ch1 u nizu a1. Ova funkcija vraća nulti pokazivač ako ch1 nije pronađen u nizu a1.

Bilješka: C pruža standardnu ​​biblioteku tzv koji pruža razne funkcije za rad s nizovima u C-u. Te funkcije uključuju operacije poput kopiranja nizova, ulančavanja nizova i više.

Zaključak

Niz je kolekcija linearnog niza u C programima. Svaki znak pohranjuje jedan bajt i predstavljen je dvostrukim navodnicima. C pruža standardnu ​​biblioteku i možete jednostavno obavljati komplicirane zadatke pomoću funkcija niza. U gornjem vodiču raspravljali smo o različitim načinima za deklaraciju niza i inicijalizaciju. Također smo demonstrirali prosljeđivanje niza u funkciju s primjerom koda.