字符串字节数与有效长度
一、说明
1.字节数:定义字符数组时,字节数为初始化的字符长度;未定义字符长度时,计算字节数时,要包括字符串末尾的‘\0’;
2.有效长度:'\0'是字符串有效长度的终止标志,所以有效长度中不包括‘\0’;
二、代码解释
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100]="abcde";// 字节数与有效长度:100,5
char str2[]="abcde";//6,5
char str3[100]="abcde\0yui\n";//100,5
char str4[]="abcde\0yui\n";//11,5
char *str5="abcde";//4,5 数据为指针类型的字节数为4
char *str6="abcde\0yui\n";//4,5
printf("%d,%d\n",sizeof(str1),strlen(str1));
printf("%d,%d\n",sizeof(str2),strlen(str2));
printf("%d,%d\n",sizeof(str3),strlen(str3));
printf("%d,%d\n",sizeof(str4),strlen(str4));
printf("%d,%d\n",sizeof(str5),strlen(str5));
printf("%d,%d\n",sizeof(str6),strlen(str16));
}