Follow

Puppetting on Strings || chapter 9

Puppeting on strings is the process of manipulating strings in C programming language. This includes operations like copying strings, concatenating strings, comparing strings, and finding the length of a string. Strings in C are represented as arrays of characters terminated by a null character '\0'.

What are Strings:

Strings are arrays of characters terminated by a null character '\0'. The null character indicates the end of the string.

For example:

c
char string[] = "Hello World";

Here, string is an array of characters that contains the string "Hello World". The null character '\0' is automatically added to the end of the string.

More about Strings:

Strings in C are mutable, which means that the characters in a string can be modified. Strings can be passed to functions using pointers. Strings can also be concatenated by appending one string to the end of another.

Pointers and Strings:

Strings can be manipulated using pointers in C. A pointer to a string can be declared as:

c
char *stringPtr;

This declares a pointer to a string of characters. The string can then be assigned to the pointer:

c
stringPtr = "Hello World";

Standard Library String Functions:

The C standard library provides several string manipulation functions, including:

  • strlen(): Returns the length of a string.
  • strcpy(): Copies a string from one array to another.
  • strcat(): Concatenates two strings.
  • strcmp(): Compares two strings.

strlen():

The strlen() function returns the length of a string.

Example:

c
char string[] = "Hello World"
int length = strlen(string);

Here, the variable length will contain the value 11.

strcpy():

The strcpy() function copies a string from one array to another.

Example:

c
char source[] = "Hello World"; 
char destination[20]
strcpy(destination, source);

Here, the string "Hello World" is copied from the source array to the destination array.

strcat():

The strcat() function concatenates two strings.

Example:

c
char string1[] = "Hello"; 
char string2[] = "World"; 
strcat(string1, string2);

Here, the string "World" is appended to the end of the string "Hello" in the string1 array.

strcmp():

The strcmp() function compares two strings.

Example:

c
char string1[] = "Hello";
char string2[] = "World"
int result = strcmp(string1, string2);

Here, the variable result will contain a negative value because the string "Hello" is less than the string "World" in alphabetical order.

Two-Dimensional Array of Characters:

A two-dimensional array of characters can be used to store multiple strings.

Example:

c
char strings[3][10] = { "Hello", "World", "!" };

Here, the strings array contains three strings of up to 10 characters each.

Array of Pointers to Strings:

An array of pointers to strings can also be used to store multiple strings.

Example:

c
char *strings[] = { "Hello", "World", "!" };

Here, the strings array contains three pointers to strings. Each pointer points to a string stored elsewhere in memory.

Limitation of Array of Pointers to Strings:

An array of pointers to strings has a fixed size, which limits the number of strings that can be stored in the array.

Solution:

To overcome the limitation of a fixed size array of pointers to strings, dynamic memory allocation can be used to allocate memory for new strings.

Summary: Strings in C are represented as character arrays with a null character ('\0') at the end of the string to indicate the end of the string. String functions in the C standard library include strlen(), strcpy(), strcat(), and strcmp(). Pointers can be used to manipulate strings in C. A two-dimensional array of characters is an array of strings, while an array of pointers to strings is a more flexible way of storing strings. Dynamic memory allocation can be used to allocate memory for each string in the array.

No comments:

Post a Comment

Tell us how you like it.