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 }