Strings
Is site ke har doosre course ke bar'aks, C mein bilkul koi String type nahi hai. Ek C string ek char array hai jo ek null byte ('\0') par terminate hota hai, aur <string.h> ke strlen, strcat, aur strcpy jaise functions sab aage scan karke kaam karte hain jab tak unhe wo terminator nahi milta.
#include <stdio.h>
#include <string.h>
int main() {
char greeting[20] = "Hello";
strcat(greeting, ", world!");
printf("%s\n", greeting);
printf("Length: %zu\n", strlen(greeting));
return 0;
}Hello, world! Length: 13
strcat ne greeting mein in place append kiya — ye assume karta hai ke destination buffer (yahan char[20] declare kiya gaya) mein existing content aur addition dono ke liye, plus null terminator, kaafi jagah bachi hai. C ye kabhi aap ke liye check nahi karta; buffer ke end ke aage likhna C bugs ki sabse common category hai, aur isiliye undefined behavior wali pehli warning yahan khaaskar matter karti hai.
Aage: structs — related fields ko sath group karna, C ka user-defined data types ke liye wahid mechanism.
Practice exercise
Ek char s[] = "rust lang" diya gaya hai, <string.h> ke strlen se uski length print karein.