Masīvs ir datu struktūra, ko izmanto viena un tā paša datu tipa secīgu vienumu glabāšanai. Elementa pozīciju secībā sauc par indeksu. Indeksi sākas no 0 līdz (n-1).

Šajā rakstā jūs uzzināsit, kā izmantot masīvus C. Lielākā daļa šeit ietverto jēdzienu attiecas uz lielāko daļu citu programmēšanas valodu, tāpēc noteikti ņemiet tos vērā.

Masīvu definēšana

Lai definētu masīvu, ierakstiet tā datu tipu, kam seko masīva nosaukums un kvadrātiekavas:

int vecums [8];

Kvadrātiekavās ir paredzamais datu vienību skaits, ko masīvs saņems. Ja jums vienlaikus jādeklarē divi masīvi, varat to darīt, kā norādīts zemāk. Ir vērts pieminēt, ka vēlamais veids ir to deklarēšana atsevišķi.

int vecums [8], augums [8];

Masīvu var deklarēt arī šādi:

int [8] vecums;

Iepriekš minētā sintakse nozīmētu to vecums ir rādītājs tipa masīvam int. Lai gan jūs varat izmantot rādītāja sintaksi, priekšroka tiek dota pirmajai.

Saistīts: Kā parādīt skaitļu reizināšanas tabulu, izmantojot Python, C ++, JavaScript un C

Dažreiz jūs, iespējams, nezināt, cik daudz elementu jūs sagaidāt savā masīvā. Šādā gadījumā jums vajadzētu deklarēt masīvu bez elementu skaita. Skatiet piemēru zemāk:

int vecums [];

Operācijas masīvos

Lai atsauktos uz masīva elementu, ierakstiet masīva nosaukumu un tam sekojošo indeksu kvadrātiekavās (piem. vecums [5]). Kvadrātiekavās varat izmantot arī mainīgos:

vecums [x+y]

Jums jāpārliecinās, ka šo mainīgo aprēķins ir diapazonā no 0 līdz (n-1). Pretējā gadījumā jūs saņemsit apkopošanas kļūdu.

Inicializācija

Masīva elementus var sniegt deklarēšanas laikā vai vēlāk programmā. Šo darbību sauc par inicializāciju, jo masīvam sākotnēji ir nulles vērtības.

Skatiet piemēru zemāk. Masīvā tiek izdrukāta elementa vērtība un tā indekss. 5. rindā tiek izmantots inicializētāju saraksts, lai inicializētu veselu skaitļu masīvu.

#iekļaut 
int main (void) {
printf ("%s%11s
"," Elements "," Vērtība ");
int n [4] = {1, 4, 9, 16};
// izvades masīva elementi tabulas formātā
par (lieluma_t i = 0; i <4; ++ i) {
printf ("%5u%10d
", i, n [i]);
}
}

Izeja:

Elementa vērtība
0 1
1 4
2 9
3 16

Masīvu izmantošana virkņu saglabāšanai

Masīvus var izmantot arī virkņu, ne tikai veselu skaitļu glabāšanai. Ja to izmantojat šādā veidā, neaizmirstiet inicializētāju sarakstā iekļaut atsevišķas pēdiņas katram elementam.

ogļu augļi [] = ['b', 'e', ​​'r', 'r', 'y', '\ 0'];

Ievērojiet, ka char tiek izmantots datu tips. Stīgu burtnīca patiesībā sastāv no atsevišķām rakstzīmēm, un tāpēc jūs to redzat char.

Saistīts: Kā apgūt C ++ programmēšanu: 6 vietnes, lai sāktu darbu

Parādītais masīvs beidzas ar aizbēgšanas secību (\0). Šī ir virknes beigu rakstzīme, ko sauc par nulles rakstzīmi. Tas vienmēr jāiekļauj, inicializējot masīvu sarakstu.

Patiesībā ir vienkāršāks veids, kā inicializēt rakstzīmju masīvu. Vispirms mēs parādījām iepriekšējo pieeju, lai jūs zināt, ka rakstzīmju masīvam vienmēr ir īpašs beigu raksturs (\0). Iesācējiem programmētājiem ir izplatīta kļūda, ka masīva izmērs ir par vienu mazāks, aizmirstot pēdējo elementu (\0).

char string1 [5] = "Kods";

Pieņemsim, ka jums ir jāiegūst lietotāja ievade un jāsaglabā tas masīvā. Varat izmantot standarta bibliotēkas funkciju scanf priekš šī.

Tomēr jums ir jānorāda rakstzīmju skaits, ko funkcijai vajadzētu sagaidīt. Tas ir tāpēc, ka scanf nepārbauda masīva lielumu un var rakstīt datus uz adresēm ārpus masīva, izraisot bufera pārpildi.

Izmantojiet %s reklāmguvumu specifikatoru, lai definētu maksimālo paredzamo ievadi. The scanf funkcija lasīs visas ievadītās rakstzīmes, līdz tiks parādīta atstarpe, cilne, jauna rinda vai faila beigu indikators.

C programmēšanas uzlabošana

Resursi, kurus izmantojat mācībām, ir tikpat svarīgi kā jūsu centība mācīties. Mācīšanās bez labas prakses padarīs jūsu programmēšanas ceļu izaicinošu.

C valoda ir īpaši izaicinoša, jo tā nav orientēta uz objektiem. Par laimi, mums ir daudz resursu, lai palīdzētu jums apgūt C programmēšanu.

KopīgotČivinātE -pasts
Izmantojiet šos apmācības resursus, lai šodien apgūtu C programmēšanu

Vai esat kādreiz vēlējies zināt, kā veikt pamata programmēšanu C valodā? Tagad jūs varat, pateicoties šim mācību komplektam.

Lasīt Tālāk

Saistītās tēmas
  • Programmēšana
  • C Programmēšana
  • Programmēšana
  • Programmēšanas valodas
Par autoru
Džeroms Deividsons (Publicēti 23 raksti)

Džeroms ir MakeUseOf personāla rakstnieks. Viņš aptver rakstus par programmēšanu un Linux. Viņš ir arī kriptogrāfijas entuziasts un vienmēr seko līdzi kriptogrāfijas nozarei.

Vairāk no Džeroma Deividsona

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu