logo

Joukko C:n rakenteita

Kun käsitellään suurta joukkoa toisiinsa liittyvää dataa ja erilaisia ​​tietotyyppejä, sen tehokas järjestäminen ja hallinta on ratkaisevan tärkeää. C-ohjelmoinnissa taulukoiden ja rakenteiden yhdistelmä eli rakenteiden joukko tarjoaa tehokkaan työkalun sen hallintaan. Tässä artikkelissa keskustelemme C:n rakennetaulukon käsitteestä.

java vertailumerkkijono

Mikä on Array?

Taulukko on homogeeninen kokoelma jatkuvaan muistipaikkaan tallennettuja elementtejä. Taulukon koko on kiinteä ja voimme käyttää elementtejä satunnaisesti niiden indeksin avulla.

Array-ilmoitus



array_type   array_name  [size];>

Mikä on rakenne?

Rakenne on yksi käyttäjän määrittämistä C:n tietotyypeistä, joka voi sisältää jäseninä erityyppisiä elementtejä.

Ilmoitus rakenteesta C

  struct   structure_name{    memberType memberName;   ...  ... };>

Joukko rakenteita

Taulukkoa, jonka elementit ovat tyyppirakennetta, kutsutaan rakennetaulukoksi. Se on yleensä hyödyllinen, kun tarvitsemme useita rakennemuuttujia ohjelmaamme.

Tarvitaan erilaisia ​​rakenteita

Oletetaan, että meillä on 50 työntekijää ja meidän on tallennettava 50 työntekijän tiedot. Tätä varten meidän on määritettävä 50 struct Employee -tyyppistä muuttujaa ja tallennettava tiedot siihen. 50 muuttujan ilmoittaminen ja käsitteleminen ei kuitenkaan ole helppoa. Kuvitellaan isompi skenaario, kuten 1000 työntekijää.

Joten jos ilmoitamme muuttujan tällä tavalla, tätä ei voida käsitellä.

struct Employee emp1, emp2, emp3, .. . ... . .. ... emp1000;>

Tätä varten voimme määritellä taulukon, jonka tietotyyppi on struct Employee soo, joka on helposti hallittavissa.

Ilmoitus rakenteiden joukosta

  struct     structure_name array_name   [number_of_elements];>

Rakenteiden joukon alustaminen

Voimme alustaa rakenteiden joukon seuraavilla tavoilla:

merkkijonotaulukon luominen javassa
  struct     structure_name array_name   [number_of_elements] = {  {element1_value1, element1_value2, ....},  {element2_value1, element2_value2, ....},  ......  ...... };>

Sama alustus voidaan tehdä myös seuraavasti:

  struct     structure_name array_name   [number_of_elements] = {  element1_value1, element1_value2 ....,  element2_value1, element2_value2 ..... };>

GNU C -kääntäjät tukevat rakenteiden määrättyä alustusta, joten voimme käyttää tätä myös useiden rakenteiden alustuksessa.

  struct     structure_name array_name   [number_of_elements] = {  {.element3 = value, .element1 = value, ....},  {.element2 = value, .elementN = value, ....},  ......  ...... };>

Esimerkki C:n rakennetaulukosta

C




// C program to demonstrate the array of structures> #include> > // structure template> struct> Employee {> >char> Name[20];> >int> employeeID;> >int> WeekAttendence[7];> };> > // driver code> int> main()> {> >// defining array of structure of type Employee> >struct> Employee emp[5];> > >// adding data> >for> (>int> i = 0; i <5; i++) {> >emp[i].employeeID = i;> >strcpy>(emp[i].Name,>'Amit'>);> >int> week;> >for> (week = 0; week <7; week++) {> >int> attendence;> >emp[i].WeekAttendence[week] = week;> >}> >}> >printf>(>' '>);> > >// printing data> >for> (>int> i = 0; i <5; i++) {> >printf>(>'Emplyee ID: %d - Employee Name: %s '>,> >emp[i].employeeID, emp[i].Name);> >printf>(>'Attendence '>);> >int> week;> >for> (week = 0; week <7; week++) {> >printf>(>'%d '>, emp[i].WeekAttendence[week]);> >}> >printf>(>' '>);> >}> > >return> 0;> }>

>

miten merkkijono muunnetaan merkiksi

>

Lähtö

Emplyee ID: 0 - Employee Name: Amit Attendence 0 1 2 3 4 5 6  Emplyee ID: 1 - Employee Name: Amit Attendence 0 1 2 3 4 5 6  Emplyee ID: 2 - Employee Name: Amit Attendence 0 1 2 3 4 5 6  Emplyee ID: 3 - Employee Name: Amit Attendence 0 1 2 3 4 5 6  Emplyee ID: 4 - Employee Name: Amit Attendence 0 1 2 3 4 5 6>