I denne vejledning lærer du at arbejde med arrays. Du lærer at erklære, initialisere og få adgang til elementer i en matrix ved hjælp af eksempler.
En matrix er en variabel, der kan gemme flere værdier. For eksempel, hvis du vil gemme 100 heltal, kan du oprette en matrix til det.
int data(100);
Hvordan erklæres en matrix?
dataType arrayName (arraySize);
For eksempel,
flydemark (5);
Her erklærede vi en matrix, mark, af typen med flydende punkt. Og dens størrelse er 5. Det betyder, at den kan indeholde 5 flydende punktværdier.
Det er vigtigt at bemærke, at størrelsen og typen af en matrix ikke kan ændres, når den er erklæret.
Adgang til Array Elements
Du kan få adgang til elementer i en matrix efter indekser.
Antag at du erklærede et array-mærke som ovenfor. Det første element er mærke (0), det andet element er mærke (1) og så videre.
Få hovedtegn :
- Arrays har 0 som det første indeks, ikke 1. I dette eksempel er mark (0) det første element.
- Hvis størrelsen på en matrix er n,
n-1
bruges indekset for at få adgang til det sidste element . I dette eksempel skal du markere (4) - Antag, at startadressen til
mark(0)
er 2120d . Derefter vil adressenmark(1)
være 2124d . På samme måde vil adressenmark(2)
være 2128d og så videre.
Dette skyldes, at størrelsen på afloat
er 4 bytes.
Hvordan initialiseres et array?
Det er muligt at initialisere en matrix under erklæringen. For eksempel,
int mark(5) = (19, 10, 8, 17, 9);
Du kan også initialisere et array som dette.
int mark() = (19, 10, 8, 17, 9);
Her har vi ikke angivet størrelsen. Imidlertid ved compileren, at dens størrelse er 5, da vi initialiserer den med 5 elementer.
Her,
mark (0) er lig med 19 mark (1) er lig med 10 mark (2) er lig med 8 mark (3) er lig med 17 mark (4) er lig med 9
Skift værdi af matrixelementer
int mark(5) = (19, 10, 8, 17, 9) // make the value of the third element to -1 mark(2) = -1; // make the value of the fifth element to 0 mark(4) = 0;
Elementer til input- og outputarray
Sådan kan du tage input fra brugeren og gemme det i et array-element.
// take input and store it in the 3rd element scanf("%d", &mark(2)); // take input and store it in the ith element scanf("%d", &mark(i-1));
Her er hvordan du kan udskrive et individuelt element i en matrix.
// print the first element of the array printf("%d", mark(0)); // print the third element of the array printf("%d", mark(2)); // print ith element of the array printf("%d", mark(i-1));
Eksempel 1: Arrayinput / -output
// Program to take 5 values from the user and store them in an array // Print the elements stored in the array #include int main() ( int values(5); printf("Enter 5 integers: "); // taking input and storing it in an array for(int i = 0; i < 5; ++i) ( scanf("%d", &values(i)); ) printf("Displaying integers: "); // printing elements of an array for(int i = 0; i < 5; ++i) ( printf("%d", values(i)); ) return 0; )
Produktion
Indtast 5 heltal: 1 -3 34 0 3 Visning af heltal: 1 -3 34 0 3
Her har vi brugt en for
løkke til at tage 5 input fra brugeren og gemme dem i en matrix. Derefter for
vises disse elementer ved hjælp af en anden sløjfe på skærmen.
Eksempel 2: Beregn gennemsnit
// Program to find the average of n numbers using arrays #include int main() ( int marks(10), i, n, sum = 0, average; printf("Enter number of elements: "); scanf("%d", &n); for(i=0; i
Output
Enter n: 5 Enter number1: 45 Enter number2: 35 Enter number3: 38 Enter number4: 31 Enter number5: 49 Average = 39
Here, we have computed the average of n numbers entered by the user.
Access elements out of its bound!
Suppose you declared an array of 10 elements. Let's say,
int testArray(10);
You can access the array elements from
testArray(0)
to testArray(9)
.
Now let's say if you try to access
testArray(12)
. The element is not available. This may cause unexpected output (undefined behavior). Sometimes you might get an error and some other time your program may run correctly.
Hence, you should never access elements of an array outside of its bound.
Multidimensional arrays
In this tutorial, you learned about arrays. These arrays are called one-dimensional arrays.
In the next tutorial, you will learn about multidimensional arrays (array of an array).