Let's take a look at the following examples:
/* Define data */
...Char * msg1 = "testtest ";Char * msg2 = "test ";Int Len = 20, T = 1;...
1 -----> If (strlen (msg2)> = strlen (msg1)... // right
2 -----> If (strlen (msg2)-strlen (msg1)> = 0)... // "error"
3 -----> If (strl
StrlenWhat Strlen does is work on a counter that starts scanning from somewhere in memory (which can be the beginning of a string, somewhere in the middle, or even an indeterminate area of memory) until it touches the first string terminator, and then returns the counter value (length does not contain '% ').Refers to the actual length of the actual string or array of characters (not the number of bytes in the occupied space).Function prototypesextern
Function prototype: size_t strlen (const char * Str)
Return Value: returns the number of characters in the string, excluding the terminator '/0 '. If no return value is returned, an error occurs;
Parameter description: Str: string with '/0' as the Terminator.
Function implementation:
Size_t strlen (const char * Str)
{
Assert (null! = Str );
Const char * TMP = STR;
For (; TMP! = ''; ++ TMP)
;
Retur
C language implements strlen function and string traversal, strlen function string
Strlen implementation:
1 int my_strlen (char * str) 2 {3 char * tmp = str; 4 while (* str) 5 {6 str ++; 7} 8 return str-tmp;
String traversal:
1 void stringDis (char * str) 2 {3 // int len = sizeof (str)/sizeof (char ); // error if there is space 4 // int len =
Since it is the first article after the opening, Let's first look at a simple and practical function to enhance your confidence and then step by step to the complexity, it's easy to let it go.
I still remember that when I was a beginner in C, I had a very deep memory for a class of functions such as string operations. Various tests will examine the implementation of functions such as strlen and strlen, and
[Interview Questions] What is the difference between sizeof and strlen? sizeofstrlen
Example: constchar * p = "Hello World"; char p [] = "Hello World"; what is the difference between length and occupied space?
A: You can use strlen (p) to determine the length. sizeof cannot be used for the first memory space and sizeof can be used for the second memory.
Also: Second: st
Strlen () function and Mb_strlen () function
In PHP, the function strlen () returns the length of the string. The function prototype is as follows:
Copy Code code as follows:
int strlen (string string_input);
Parameter string_input is the string to be processed.
The strlen () function returns
Difference between sizeof and strlen in C language, sizeofstrlen in C LanguageDifferences between sizeof and strlen in C LanguageI. Essential differencesSizeof is essentially different from strlen. Sizeof is a single-object operator in C language, such as ++ and --. It is not a function. sizeof has two levels of priority, and has a higher priority than Level 3 op
size of the space occupied by the type;Object--The actual space size of the object;Function--the size of the space the return type of the function occupies. The return type of a function cannot be void.**************
Second, strlenStrlen (...) is a function that can be computed at run time. parameter must be a character pointer (char*). When an array name is passed in as a parameter, the array is actually degraded to a pointer.Its function is to return the length of the string. The string may
The difference between sizeof and strlen in C languageI. Essential differencessizeof and strlen have an essential difference. sizeof is the C language of a single-eye operator, such as + + 、--, and so on, is not a function, sizeof priority is 2, the ratio/,% and other 3-level operators are high priority, sizeofThe size of the storage space for the operand as a byte. And
Strlen only works as a counter. It starts scanning from a memory location (which can start with a string, a location in the middle, or even an uncertain memory area, the counter value is returned until the first string Terminator '\ 0' is reached.
Differences between strlen and sizeof:
The strlen (char *) function is used to calculate the actual length of the str
Reposted from carekee blog http://www.cnblogs.com/carekee/articles/1630789.htmlsizeofand strlen的
I. sizeofSizeof (...) is an operator. In the header file, typedef is an unsigned int. Its value is calculated after compilation. The parameter can be an array, pointer, type, object, function, etc.Its function is to obtain the maximum object size that can be accommodated.Because it is calculated during compilation, sizeof cannot be used to return the size
in PHP, strlen and Mb_strlen are functions that ask for string lengths, but for some beginners, it may not be clear what the difference is if you don't read the manual. In PHP there are two functions that compute the number of strings one is strlen, the other is Mb_strlen; Let's take a look at the definition in the manual. Strlen
[] = "0123456789";
sizeof (ss) Result 11 = = SS is an array, computed to the position of the 10+1, so is the
sizeof (*SS) result 1 = = "*ss is the first character
char ss[100] =" 0123456789 ";
sizeof (ss) result is 100 = = "The SS represents the size in memory 100x1
strlen (ss) result is 10 = =" Strlen is a function the internal implementation is to be computed by a loop before the
int ss[100] = " 012345678
of sizeof is to tell us the size of the "building area" allocated to variables, as long as you remember this should be enough, whether this variable type is ordinary integer data, or structure, common body, enumeration ... With that in mind, when we go back to wondering what the value of sizeof is returning for different data type operations, it's just a matter of figuring out how much "building area" that data type is going to consume.
Strlen () fu
Strlen only works as a counter. It starts scanning from a memory location (which can start with a string, a location in the middle, or even an uncertain memory area, the counter value is returned until the first string Terminator '\ 0' is reached.Differences between strlen and sizeof:The strlen (char *) function is used to calculate the actual length of the strin
# Include "stdio. H"# Include "string. H"
Void main (){
Char AA [10];Printf ("% d", strlen (AA ));Printf ("% d", sizeof (AA ));}
The result of running the program is strlen (AA) = 15. sizeof (AA) = 10. What is the problem? Strlen is the length of a valid string and does not contain '\ 0'. It is related to initialization, while sizeof is irrelevant to initial non-
char s2 [4], s1 is char [3], s2 is char [4], that is, although s1 and s2 are character arrays, however, the two types are different.2). The String constant type can be understood as the type of the corresponding character constant array.For example, the "abcdef" type can be considered as const char [7], that is, the actual data storage is "abcdef \ 0 ".3). In the function parameter list, parameters are written as arrays. The Compiler interprets them as common pointer types.For example, for void
array and the size of the array.
For example, char S1 [3] and char S2 [4], S1 is Char [3], S2 is Char [4], that is, although S1 and S2 are character arrays, however, the two types are different.
2). The String constant type can be understood as the type of the corresponding character constant array.
For example, the "abcdef" type can be considered as const char [7], that is, the actual data storage is "abcdef \ 0 ".
3). In the function parameter list, parameters are written as arrays. The Compi
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.