Rezumat: Cursul ar trebui să examineze lucrarea și inițializa matrice de caractere în limbajul de programare C, a explora rezolvarea cu matrice de caractere problemă explora funcții de bază pentru lucrul cu siruri de caractere.
Partea teoretică
În cazul determinării lungimii șirului rezultatul va fi dimensiunea liniei numărul 6 nu se modifică în cazul în care specificați un terminator linie:
matrice In mod similar pot fi utilizate matrici numerice în limbajul C de rânduri, adică, un set de rețea unidimensională de caractere. De exemplu, serverul de bază de date verifică comanda de utilizator, cu o serie de comenzi valide [6.2]. Ca o serie de siruri de caractere pentru acest caz va servi drept matrice caracter bidimensional. măsurătorile dimensionale ale stânga definește numărul de rânduri, iar dreapta - lungimea maximă a fiecărei linii [6.2]. De exemplu:
Figura 30 - este numărul de rânduri de matrice, iar numărul 80 - lungimea maximă a fiecărei linii cu șirul de caractere nul este completat.
Pentru a se referi la o singură linie de matrice caracter bidimensional este suficient pentru a specifica doar indicele stânga declarat matrice.
Tablourile de caractere multidimensionali sunt formate, precum și matrice numerice:
6.1. Rețea unidimensională de caractere - siruri de caractere
matrice dimensională - aceasta este o listă de variabile asociate de același tip.
Forma generală a unui tablou unidimensional înregistrării [6.2]:
În tipul de mai sus de tipul de înregistrare element de bază declară matrice. Numărul de elemente care vor fi stocate într-o matrice numită array_name. determinată de mărimea elementului.
În C, indexare array (caracter sau numeric) pornește de la zero.
Accesul la elementul individual al matricei se realizează cu ajutorul indicelui. Indicele descrie poziția elementului în cadrul șirului.
Pentru o serie de caractere la inițializare matrice este necesară pentru spațiu de rezervă pentru închiderea șir de caractere, adică pentru caracterul „\ 0“.
Un șir constant - este un set de caractere incadrate intre ghilimele duble, de exemplu, „bună“.
La sfârșitul șirului de caractere nu este în mod necesar necesar să se adauge la zero, C compilator face acest lucru în mod automat. La șir de caractere de inițializare este necesar un tablou unidimensional pentru a oferi spațiu pentru caracterul nul, de exemplu:
Fiecare linie conține un caracter mai mult decât specificată în mod explicit. toate rândurile termina un simbol nul având valoarea 0.
Pentru matrice unidimensionale dimensiune globală matrice, în octeți, este dată de:
6.2. Tablourile de caractere dimensionale
matrice dimensională este o listă de matrice unidimensionale.
Forma generală a matrice bidimensională:
Intrarea tabel indică numărul de rânduri razmer1 matrice dimensionale și SIZE2 - numărul de coloane. SIZE2 Dimensiunea determină lungimea maximă pentru o anumită matrice. De obicei, SIZE2 set cu o marjă.
In doua poziție matrice tridimensională a fiecărui element este determinată de doi indici. Indicii fiecărei matrice de dimensiuni pornind de la zero.
Locația de stocare pentru toate elementele de matrice este determinată în timpul compilării. Memoria alocată matrice de stocare, este utilizat pe toată durata de viață a matrice.
Pentru tablouri bidimensionale de dimensiuni globale matrice de tip dată, în octeți, este dată de:
matrice Inițializare caracter dimensional poate fi determinată fie caracter cu caracter sau linie cu linie, de ex
Numărul 80 este luat dintr-o rezervă pentru o posibilă lungimea liniei. Numărul 3 - numărul de rânduri dintr-o matrice bidimensională. In ambele cazuri, se poate adăuga un terminator de linie ( '\ 0'). „\ 0“ este afișat pe ecranul de afișare și nu este trimis într-un fișier, cum ar fi un fișier text. În același timp, trebuie să ne amintim că fiecare linie se termină cu un caracter nul.
6.3. Tablourile de caractere multidimensionali
Forma generală a unei intrări matrice multidimensionale:
Indexarea de fiecare dimensiune începe de la zero. Elementele unei matrice multidimensionale sunt aranjate în memorie, în ordinea indicelui drept ascendentă. Prin urmare, indicele de dreapta se va schimba mai repede decât stânga (stânga). În acest caz, la sfârșitul fiecărei linii se referă la caracterul nul.
Pentru matrice multidimensionale dimensiunea globală matrice multidimensionale în octeți este dată de:
Evident, matrice multi-dimensionale sunt în măsură să ia o cantitate mare de memorie, precum și un program care le utilizează, pot fi foarte rapid cu care se confruntă cu problema lipsei de memorie.
Pentru a determina dimensiunea în octeți de tipul utilizat sizeof funcția (). care returnează un număr întreg. De exemplu, sizeof (char).
Atunci când inițializează matrice multidimensionale trebuie să specifice toate datele (dimensiuni), cu excepția dimensiunii stânga. Acest lucru este de a se asigura că compilatorul a fost în măsură să determine lungimea sub-matrice care alcătuiesc matrice, și a fost capabil să aloce memoria necesară.