Lesson 8 — Beginner

Strings in C

C mein string koi alag type nahi hai — bas char array jo ek special character par rukta hai: '\0'. Is lesson mein hum isi detail ko dekhenge — string kaise banti hai, safely input kaise lete hain, string.h ke functions kaise chalte hain, aur palindrome jaise programs kaise bante hain.

⏱ 14 min• Beginner• Arrays

String = char array + null terminator

WHAT

String C mein char array hai jo '\0' (null character, ASCII 0) par khatam hota hai. Compiler is terminator ki wajah se jaanta hai string kab khatam — bina '\0' ke toh wo bas characters hain.

WHEN

Jab bhi text ho — naam, address, message, password. Har string function isi '\0' ke aage dekh kar kaam karta hai.

WHERE

printf %s, scanf %s, har file ka text, har command line input — string C ke I/O ki jaan hai.

#include <stdio.h>
int main() {
    char name[20] = "DSWallah";
    // D  S  W  a  l  l  a  h  \0
    // 0  1  2  3  4  5  6  7  8

    printf("%s\n", name);        // DSWallah
    printf("Size = %zu\n", sizeof(name));  // 20 (poora array)
    return 0;
}

Output:
DSWallah
Size = 20

String ka input aur output

#include <stdio.h>
int main() {
    char name[50];

    printf("Ek shabd: ");
    scanf("%49s", name);          // space pe rok jaata hai
    printf("Shabd = %s\n", name);

    printf("Poori line: ");
    scanf(" %[^\n]", name);      // space sahit (ek trick)
    printf("Line = %s\n", name);
    return 0;
}

Ek shabd: Rahul
Shabd = Rahul
Danger zone: gets(name) kabhi mat — size check hi nahi karta. C11 mein remove ho chuka hai. fgets hamesha safe hai — ye interview mein poochha jaata hai.

string.h ke 4 must-know functions

#include <stdio.h>
#include <string.h>
int main() {
    char a[30] = "Hello";
    char b[30] = "World";

    printf("Len = %d\n", (int)strlen(a));   // 5
    strcat(a, " ");
    strcat(a, b);
    printf("%s\n", a);                       // Hello World
    printf("cmp = %d\n", strcmp("abc", "abd"));  // -1 (negative)
    strcpy(a, "Bye");
    printf("%s\n", a);                       // Bye
    return 0;
}

Output:
Len = 5
Hello World
cmp = -1
Bye
Comparison ka dhoka: if (s1 == s2) C mein ADDRESS compare karta hai, string nahi! Hamesha strcmp(s1, s2) == 0. Ye beginner ka #1 bug hai.

Palindrome program — string manipulation

#include <stdio.h>
#include <string.h>
int main() {
    char s[] = "madam";
    int n = strlen(s), flag = 1;

    for (int i = 0; i < n / 2; i++)
        if (s[i] != s[n - 1 - i]) { flag = 0; break; }

    printf("%s is %s\n", s, flag ? "Palindrome" : "Not Palindrome");
    return 0;
}

Output: madam is Palindrome
// String ↔ number conversion (bonus, interview favourite)
#include <stdio.h>
#include <stdlib.h>
int main() {
    char num[] = "42";
    int x = atoi(num);           // string → int
    printf("%d + 8 = %d\n", x, x + 8);

    char back[10];
    sprintf(back, "%d", x * 2);  // int → string
    printf("back = %s\n", back);
    return 0;
}
Output:
42 + 8 = 50
back = 84

String functions ka pattern: length nikalo, loop chalao, compare/transform karo. Reversal, palindrome, vowel count, word count — sab isi formula se bante hain. Ek baar likh lo, baaki sab apne aap aayenge.

Exercise

Question: String ke end mein kaunsa special character hota hai? (backslash ke saath — zero)

Question: strlen("DSWallah") kitna return karega? Sirf number daalo.

Question: strcmp jab dono strings bilkul barabar hon toh kya return hota hai? Sirf number daalo.

Question: Do strings ko compare karne sahi function ka naam? (== / strcmp)

Common mistakes

Desi example: Aadhar card naam check — palindrome

Naam, mobile number, OTP — palindromes roz aate hain (madam, 121). Wahi logic C mein 5 line ka hai:

c
#include <stdio.h>
#include <string.h>
int main() {
    char s[] = "121";
    int n = strlen(s), ok = 1;
    for (int i = 0; i < n / 2; i++)
        if (s[i] != s[n-1-i]) ok = 0;
    printf("%s palindrome? %s\n", s, ok ? "YES" : "NO");
    return 0;
}
Output: 121 palindrome? YES
Exam mapping (TCS / College)
  • TCS NQT: strlen/strcpy/strcmp output + \0 concept — 1-2Q.
  • College exam: palindrome, reverse string, vowel count program likhwana.
  • Interview: gets() vs fgets(), == vs strcmp — dono classic questions.
  • Trap: char s[5] = "hello" — \0 ke liye jagah nahi, overflow warning aata hai.
Lesson complete?

Strings clear. Agla lesson — Functions — mein dekhenge code ko chhote chhote modules mein kaise toda jaata hai.

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