C语言中sizeof与strlen的区别

1.sizeof

sizeof为编译时期被替换,不会等到程序运行再来判断,所以sizeof返回的是数组的总字节数

1 #include<stdio.h>
2 
3 int main()
4 {
5         char a[10]={'a','b'};
6 
7         printf("%d
",sizeof(a));//10
8 }

2.strlen函数包含在string.h头文件中,该函数返回的是数组的长度,数组中有几个元素就返回几

1 #include<stdio.h>
2 #include<string.h>
3 
4 int main()
5 {
6     char a[10]={'a','b'};
7 
8     printf("%d
",strlen(a));//2
9 }
原文地址:https://www.cnblogs.com/cdp1591652208/p/7308879.html