|7. Arrays in C
Chapter 7C Language Tutorial~1 min read

Arrays in C

Arrays — Same Type चे Collection

Array म्हणजे same data type च्या elements चा contiguous memory मधला collection. एकाच variable मध्ये multiple values साठवायला वापरतात. C मध्ये array चा size fixed असतो — एकदा ठरवला की बदलता येत नाही.

Marathi Analogy

Array म्हणजे train चे डबे! सगळे डबे एकामागे एक आहेत (contiguous memory). डबा क्रमांक 0, 1, 2... (indexing). सगळ्या डब्यांचा type same आहे — passengers (data type same). Train चे एकूण डबे आधी ठरवावे लागतात (fixed size).

1D Array

Array declaration, initialization, access

c
#include <stdio.h>

int main() {
    // Declaration — size द्यायला लागतो
    int marks[5];

    // Initialization
    marks[0] = 85;
    marks[1] = 90;
    marks[2] = 78;
    marks[3] = 92;
    marks[4] = 88;

    // Shortcut initialization
    int scores[] = {85, 90, 78, 92, 88};  // size auto होतो

    // Access
    printf("First marks: %d\n", marks[0]);   // 85
    printf("Last marks: %d\n", marks[4]);    // 88

    // Loop वापरून print
    int n = 5;
    float total = 0;
    for (int i = 0; i < n; i++) {
        printf("marks[%d] = %d\n", i, marks[i]);
        total += marks[i];
    }
    printf("Average: %.2f\n", total / n);   // 86.60

    return 0;
}

2D Array — Matrix

2D array — rows आणि columns

c
#include <stdio.h>

int main() {
    // 3 rows, 3 columns
    int matrix[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    // Print matrix
    printf("Matrix:\n");
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
    // Output:
    // 1 2 3
    // 4 5 6
    // 7 8 9

    return 0;
}
📌

C मध्ये array out-of-bounds access check होत नाही! marks[10] access केले तर garbage value मिळेल किंवा program crash होईल. Bounds manually check करा.

Key Points — लक्षात ठेवा

  • int arr[5] — 5 integers चा array, index 0 ते 4
  • int arr[] = {1,2,3} — initialization वेळी size auto
  • 2D array: int mat[rows][cols]
  • Array index 0 पासून सुरू — arr[0] पहिला element
  • C मध्ये array size fixed आहे — dynamic arrays साठी malloc() लागतो
0/12 chapters पूर्ण