Possible Duplicate:
What does the \0 symbol mean in a C string?
I am new at iPhone Development. I want to know, what does '\0'
means in C, and what is the equivalent for that in objective c.
Possible Duplicate:
What does the \0 symbol mean in a C string?
I am new at iPhone Development. I want to know, what does '\0'
means in C, and what is the equivalent for that in objective c.
The null character '\0'
(also null terminator
), abbreviated NUL
, is a control character with the value zero
. Its the same in C and objective C
The character has much more significance in C and it serves as a reserved character used to signify the end of a string
,often called a null-terminated string
The length of a C string (an array containing the characters and terminated with a '\0'
character) is found by searching for the (first) NUL byte.
In C, \0
denotes a character with value zero. The following are identical:
char a = 0;
char b = '\0';
The utility of this escape sequence is greater inside string literals, which are arrays of characters:
char arr[] = "abc\0def\0ghi\0";
(Note that this array has two zero characters at the end, since string literals include a hidden, implicit terminal zero.)
The '\0'
inside character literals and string literals stands for the character with the code zero. The meaning in C and in Objective C is identical.
To illustrate, you can use \0
in an array initializer to construct an array equivalent to a null-terminated string:
char str1[] = "Hello";
char str2[] = {'H', 'e', 'l', 'l', 'o', '\0'};
In general, you can use \ooo
to represent an ASCII character in octal notation, where o
s stand for up to three octal digits.
To the C language, '\0'
means exactly the same thing as the integer constant 0
(same value zero, same type int
).
To someone reading the code, writing '\0'
suggests that you're planning to use this particular zero as a character.
\0
is zero character. In C
it is mostly used to indicate the termination of a character string. Of course it is a regular character and may be used as such but this is rarely the case.
The simpler versions of the built-in string manipulation functions in C
require that your string is null-terminated(or ends with \0
).
In C \0
is a character literal constant store into an int
data type that represent the character with value of 0.
Since Objective-C is a strict superset of C this constant is retained.
It means '\0' is a NULL
character in C, don't know about Objective-C
but its probably the same.