C语言——字符串

1.字符串四的定义及输出方式

①定义

	
	//1.
	char ch1[5]={'a','b','c','d','e'};  //字符数组类比于整数数组
	//2.
	char ch2[5]="abcde";                //前两种需要知道其字符串长度,有时字符串太长不好计算长度
	//3.
	char ch3[]="abcdefghijklmnopqrst"; //第三种可以直接不写长度
	//4.
	char *ch4="abcdefghijklmnopqrst";     

②输出方式

1.2前两种都可以是一种输出方式,只能利用循环一个一个输
for(int i=0;i<sizeof(ch2)/sizeof(ch2[0]);i++){
	printf("%c ",ch2[i]);
}
3.4.后两种比较简单,直接使用占位符%s,这是因为后两者会在字符串末尾加上结束标志'\0',且长度会加一
printf("%s\n",ch4);

所以我们可以看出第四种比较方便,因此我们常用它,在对于指针的使用时要小心,因为操作不当容易造成段错误 sigment error

③字符串的存储方式

字符串会在末尾补上一个'\0',使得长度加一,普通的sizeof()函数不能使用,想要得到真正的长度用strlen();

例如:

	char ch[]="abcd";
	int len=sizeof(ch)/sizeof(ch[0]);
	char ch1[128]="hello";
	int len1=sizeof(ch1)/sizeof(ch1[0]);
	printf("strlen ch=%d\n",strlen(ch));//ch的strlen=4
	printf("strlen ch1=%d\n",strlen(ch1));//ch1的strlen=5
	printf("len=%d,len1=%d\n",len,len1); //len=5,len1=128
	关于sizeof和strlen的使用,一般存在的问题是在:①网络通信获取的消息是乱码 ②协议两端不匹配
  • 总结strlen和sizeof:
    strlen是计算有多少个字符,sizeof计算有多大的容量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值