sizeof和strlen的区别

C语言中sizeof是一个运算符,strlen是string.h中的库函数

sizeof计算的是变量申请的内存空间大小,strlen计算的是数组从第一个位置到'\0'所占的内存大小

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 
 5 void fun(char* a)
 6 {
 7     printf("fun:: sizeof(a) = %d\tstrlen(a) = %d\n", sizeof(a), strlen(a));
 8     int i = 0;
 9     for(; i <= strlen(a); ++i)
10     {
11         printf("a[%d] = %d\t", i, a[i]);
12     }
13     printf("\n");
14 }
15 
16 int main()
17 {
18     char a[10] = {'a', 'b', '\0', 'c'};
19     printf("main:: sizeof(a) = %d\tstrlen(a) = %d\n", sizeof(a), strlen(a));
20     fun(a);
21     printf("Hello world!\n");
22     return 0;
23 }

 

posted @ 2013-03-17 21:29  mender  阅读(149)  评论(0编辑  收藏  举报