字符串

字符串

①:以“”包含的字符,其特征为默认自带‘\0’

②:字符串的标记‘\0’

之前我们学过数组,我们先定义一个字符数组:

char arr[10]={‘a’,’b’,’c’,’d’,’e’};

类似,我们今天定义一个字符串:

char brr[10]={“abcde”};

 

也可以这样写:char brr[10]="abcde";

 

你会发现结果一摸一样,我们可以得出结论在定义字符串时可以省略大括号。

 

我们定义一个字符串常量:

char *str=”abcde”;

我们可以将字符x赋值给brr[0],但不可以赋值给str[0];

 

若执行将字符x赋值给str[0],程序将崩溃。

 

字符串拷贝

主函数定义一个字符串:

char frr[10];

写一个拷贝函数,主函数调用这个拷贝函数,将err赋值给frr;

 

也可以将数组用指针的形式表示,代码如下:

 

可以得出结论

*(src+i)==src[i];//src[1]==b,  而src表示首元素地址,src+1地址加一格子再解引用也==b

也可以用while循环写:

 

也可以合并到一步,代码如下:

 

因为++和*优先级相同但结合方向从右向左,且是后置++,所以先执行*des=*src语句再执行++。所以可以合并到一步。

最后还有更加省略的方法,直接再while循环语句判定条件内写,代码如下:

 

 

这个问题最后一个方法留给大家思考,至此,字符串拷贝完成。

谢谢。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值