Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C-arrays: Efficiënte dataopslag en toegang

Wat is een array?

Een array is een vaste verzameling elementen van hetzelfde type, opgeslagen in aaneengesloten geheugenlocaties. Toegang via index (0-gebaseerd).

Declaratie

type naam[grootte];

grootte = integer constant > 0. Voorbeeld: double balance[10];

Initialisatie

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

Grootte weglaten: double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0}; → compiler telt elementen.

Enkel element wijzigen: balance[4] = 50.0; (5e element, index 4).

Elementen benaderen

double salary = balance[9];  // 10e element

Volledig voorbeeld

#include <stdio.h>

int main() {
    int n[10];
    int i, j;

    // initialiseren
    for (i = 0; i < 10; i++) {
        n[i] = i + 100;
    }

    // afdrukken
    for (j = 0; j < 10; j++) {
        printf("Element[%d] = %d\n", j, n[j]);
    }
    return 0;
}
Element[0] = 100
Element[1] = 101
...
Element[9] = 109

Belangrijke array-concepten

ConceptBeschrijving
Meerdimensionale arraysBijv. int matrix[3][4]; (2D). C ondersteunt willekeurige dimensies.
Arrays doorgeven aan functiesDoorgeven van pointer naar eerste element: void func(int arr[]) of void func(int *arr). Grootte niet meegegeven!
Array retournerenNiet direct mogelijk. Retourneer pointer naar static array of dynamisch geheugen.
Pointer naar arrayarr is equivalent aan &arr[0] (pointer naar eerste element).

Tweedimensionale arrays

int matrix[2][3] = {
    {1, 2, 3},
    {4, 5, 6}
};

// Toegang: matrix[rij][kolom]
printf("%d", matrix[1][2]);  // 6

Arrays en pointers

  • arr[i] ≡ *(arr + i)
  • &arr[i] ≡ arr + i
  • Array-naam is geen wijzigbare lvalue (kan niet arr = ptr)

Let op: C doet geen grenscontrole op arrays. Toegang buiten grenzen → ongedefinieerd gedrag (crash, corruptie, beveiligingslek).

C Taal

  1. Ball Grid Array (BGA) Uitgelegd: Complete Gids voor Hoog-dichtheid PCB-technologie
  2. C# Arrays: Declaratie, Initialisatie en Operaties
  3. C# Jagged Arrays: Declaratie, Initialisatie en Toegang
  4. Arrays doorgeven aan functies in C++: een praktische gids
  5. Hoe je 1D- en 2D-arrays doorgeeft aan functies in C – Een praktische gids
  6. De relatie tussen arrays en pointers in C begrijpen
  7. C++ Arrays Ontmaskerd: Declaratie, Initialisatie en Pointer‑Technieken
  8. C++ Dynamische Array‑Allocatie: Praktische Handleiding met Code‑Voorbeelden
  9. MATLAB: Multidimensionale en Speciale Arrays Beheersen
  10. Java array-kopieertechnieken: een uitgebreide gids
  11. Java Arrays Tutorial: Declaratie, Creatie en Initialisatie – Voorbeeldcode