数组和字符串

数组长度:sizeof(arr)/sizeof(arr[0])
数组名arr表示整个数组,只在下列情况中成立:

  1. 在定义数组的同一函数中,求sizeof(arr)
  2. 在定义数组的同一函数中,&arr+1,加整个数组大小,其他情况数组名都表示数组首元素的地址。

字符串(%s):以“\0”结尾的一串字符,字符串结尾标识为"\0"。只有用双引号包括的才是字符串,一定有”\0“结尾。
eg: char arr[5]={‘a’,‘b’,‘c’,‘d’.‘e’};//没有“\0",不是字符串
shot brr[5]={1,2,3,4,5};
char crr[]={‘a’,‘b’,‘c’,‘d’.‘e’};//5个,不是字符串
char drr[5]={‘a’,‘b’,‘c’,‘d’};//是字符串(数组)
char err[5]=“abcde”;//6个,有“\0”
char frr[5]=“ab\0ef”;//输出:ab
char err[]=“abcde”;//6,字符数组,能修改
char *hrr=“abcde”;//4,字符串常量,不能修改

strlen(str);求字符串str的有效长度,不包含\0
sizeof(a);求a的字节数
int main()
{
char str1[100] = “abcde”;
char str2[] = “abcde”;
char str3[100] = “abcdef\n\0ghi”;
char str4[] = “abcdef\n\0ghi”;//数组不管\0
char str5 = “abcde”;
char str6 = “abcdef\n\0ghi”;
printf("%d,%d\n",strlen(str1),sizeof(str1));//5,100
1
printf("%d,%d\n",strlen(str2),sizeof(str2));//5,6
1
printf("%d,%d\n",strlen(str3),sizeof(str3));//7,100
printf("%d,%d\n",strlen(str4),sizeof(str4));//7,12
printf("%d,%d\n",strlen(str5),sizeof(str5));//5,4
printf("%d,%d\n",strlen(str6),sizeof(str6));//7,4
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值