Lesson 7 — Beginner

Arrays in C

Ek variable mein ek value — 100 students ke marks ke liye 100 variables? Bilkul nahi. Array ek line mein ek fixed-size group banata hai, jahan har element ek number (index) se milta hai. Is lesson mein hum array ke basics, operations aur 2D tak jaayenge.

⏱ 14 min• Beginner• Loops

Array kaise banta hai

WHAT

Array same type ke elements ka contiguous (lagatar) group hai, jise ek naam se jana jaata hai. Har element index se access hota hai — pehla index 0, aakhri (size - 1).

WHEN

Jab ek jaisi cheezein bahut hon — marks, scores, prices, names ka list. Loops ke saath pair karke poora data ek line mein process hota hai.

WHERE

Har jagah — matrix, strings (char array), records list, input buffers. String C mein array hi hai — agli lesson mein detail.

#include <stdio.h>
int main() {
    int marks[5] = {90, 85, 78, 92, 88};

    // marks[0] = 90 (pehla), marks[4] = 88 (aakhri)
    // Total size = 5 * 4 = 20 bytes

    printf("Pehla = %d\n", marks[0]);
    printf("Aakhri = %d\n", marks[4]);
    return 0;
}

Output:
Pehla = 90
Aakhri = 88

Traversal — sum, max aur average

#include <stdio.h>
int main() {
    int a[5] = {12, 7, 19, 3, 25};
    int sum = 0, max = a[0];

    for (int i = 0; i < 5; i++) {
        sum += a[i];
        if (a[i] > max) max = a[i];
    }
    printf("Sum=%d Max=%d Avg=%.1f\n",
           sum, max, (float)sum / 5);
    return 0;
}

Output: Sum=66 Max=25 Avg=13.2

Traversal ka pattern: loop 0 se size tak, har i pe a[i] — baaki kaam wahi. Sum ke liye accumulator, max ke liye comparison, search ke liye if. Ek hi loop, alag-alag kaam.

Pro Tip: Max dhundhte waqt max = a[0] se shuru karo (INT_MIN se nahi) — warna garbage value problem nahi. Aur size likhne ki jagah sizeof(a)/sizeof(a[0]) use karo jab function na ho.

2D arrays — matrix world

#include <stdio.h>
int main() {
    int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int b[2][3] = {{7, 8, 9}, {10, 11, 12}};
    int c[2][3];

    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 3; j++)
            c[i][j] = a[i][j] + b[i][j];

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++)
            printf("%d ", c[i][j]);
        printf("\n");
    }
    return 0;
}

Output:
8 10 12
14 16 18

2D array = rows × columns, access a[i][j] (i = row, j = column). Memory mein phir bhi sab lagatar hi hai — rows one after another. Nested loop ka classic use: row-wise print aur matrix operations.

Array ki traps aur real rules

GALAT (undefined behaviour):
  int a[5];
  printf("%d", a[5]);   // bahar ka index — garbage/crash
  printf("%d", a[-1]);  // peeche bhi bahar

SAHI (size nikalo):
  int n = sizeof(a) / sizeof(a[0]);   // = 5

// Array direct copy nahi hota:
  int b[5] = a;         // COMPILE ERROR (C mein)
  // chahiye toh loop ya memcpy() se copy karo
Interview gold: Q: "Array mein index 0 se kyun shuru hota hai?" A: base address + offset — a[i] ka matlab base + i × size. 0 offset = base = pehla element. Offset calc simple rehta hai.

Exercise

Question: Array ka pehla element kaunse index pe hota hai? (0 ya 1)

Question: int a[10] ka total size kitne bytes hai? (int = 4 bytes, sirf number)

Question: int a[5] mein last valid index kaunsa hai? Sirf number daalo.

Question: Array ki size nikalne wala operator kaunsa hai?

Common mistakes

Desi example: Exam sheet ka roll number list

Teacher ke paas 40 students ke marks hain — array hi toh hai. Ek loop chalao aur result nikaalo, jaise humne sum/max mein kiya:

c
#include <stdio.h>
int main() {
    int marks[4] = {66, 78, 91, 55};
    int pass = 0;
    for (int i = 0; i < 4; i++)
        if (marks[i] >= 33) pass++;
    printf("%d/4 pass\n", pass);
    return 0;
}
Output: 4/4 pass
Exam mapping (TCS / GATE / College)
  • TCS NQT: array output (index, size) + bounds trap — 1-2Q.
  • GATE: array addressing formula (base + i*size) aur memory layout.
  • College exam: sum/max/matrix addition program likhwana — har saal.
  • Trap: "C mein array bounds check hota hai" — galat, nahi hota.
Lesson complete?

Arrays clear. Agla lesson — Strings — mein dekhenge char array se text kaise handle hota hai.

Popular courses: Data Science Course in Lucknow · AI Course in Lucknow · Python Course in Lucknow · Power BI Course · Data Analytics Course