Strings in C

nelavalli satheesh
2 min readMay 31, 2021

Strings in C, Anything enclosed in double-quotes treated as a string. There is no predefined data type to declare and use strings. So, we use character arrays to declare strings in C programs.

Every string terminates a special character called a NULL character.

Declaring and Initializing Strings:

the syntax for declaring a string is as shown below:

char str[10];

we can store an array of characters to implemented NULL characters implicitly.

char str[10] = “satheesh”;

we can store an array of characters is by character by a character we explicitly add the NULL character

char str1[10] = {‘s’, ‘a’, ‘t’, ‘h’, ‘e’, ‘e’, ‘s’, ‘h’, ‘\0’};

Reading String from the user:

we can use the scanf() function to read a string. scanf() Input format conversion.

int scanf(const char *restrict format, ...);

char str[10];

scanf(“%s”, str);

Passing string to functions: we can pass strings to function arguments. for example

void func(char a[]) {

printf(“%s”, a);

}

char str = “kumar”;

func(str);

Strings and Pointers:

Similar to arrays, string names are decayed to pointers. Hence, you can use pointers to manipulate elements of the string.

#include<stdio.h>int main() {
char str[10] = "satheesh";
printf("%s\n", str);

char n[] = "nelavalli";
char *p = n;
printf("%ld %ld \n", sizeof(p), sizeof(*p));
return 0;
}
Output:
satheesh
8 1

String Manipulations:

Strings in C

Strlen: calculate the length of a string.

size_t strlen(const char *s);
The strlen() function returns the number of bytes in the string pointed to by s
#include<stdio.h>
#include<string.h>
int main() {
char str[10] = "satheesh";
printf("%s %ld \n", str, strlen(str));
return 0;
}
Output:
satheesh 8

Strcpy: Copy a string.

char *strcpy(char *restrict dest, const char *src);
The strcpy() function return a pointer to the destination string dest
#include<stdio.h>
#include<string.h>
int main() {
char str[10] = "satheesh";
char st[10];
strcpy(st, str);
printf("%s %s \n", str, st);
return 0;
}
Output:
satheesh satheesh

Strcat: concatenate two strings

char *strcat(char *restrict dest, const char *restrict src);
The strcat() function return a pointer to the resulting string dest
#include<stdio.h>
#include<string.h>
int main() {
char str[10] = "satheesh";
char st[10] = "kumar";
strcat(str, st);
printf("%s %s \n", str, st);
return 0;
}
Output:
satheeshkumar satheesh

strchr: locate character in string.

char *strchr(const char *s, int c);
The strchr() function returns a pointer to the first occurrence of the character c in the string s
#include<stdio.h>
#include<string.h>
int main() {
char str[10] = "satheesh";
char *st = strchr(str, 'e');
printf("%s %s \n", str, st);
return 0;
}
Output:
satheesh eesh

Strcmp: compare two strings

int strcmp(const char *s1, const char *s2);
strcmp() returns an integer indicating the result of the comparison, as follows:
• 0, if the s1 and s2 are equal;
• a negative value if s1 is less than s2;
• a positive value if s1 is greater than s2.
#include<stdio.h>
#include<string.h>
int main() {
char str[10] = "satheesh";
char st[10] = "satheesh";
int i = strcmp(str, str);
printf("%d \n", i);
return 0;
}
Output:
0

For more information click here

--

--