char a[] 和 char *b的使用

找出下面代码的错误:

char a[] = “House”;

char *b = “House”;

b[2] = ‘r’;

a[2] = ‘r’;

b = a;

b[2] = ‘r’;

a = b;

 

答案:

      b被定义为一个指针变量,基类型为字符型,他只能指向一个字符型数据,不能同时指向多个字符数据,更不是将house存放到b中。

b指向了“House”字符中的第一个字符“H”的地址。

char a[] = “House”;

char *b = “House”;

//b[2] = ‘r’;   //b被定义为一个指针变量,基类型为字符型。b指向了“House”字符中的第一个字符“H”的地址。

                   //不能使用b[2]

a[2] = ‘r’;

b = a;   //这里,是让b指向a数组的首地址。

b[2] = ‘r’;   //因为b已经指向a数组的首地址,所以这里可以使用b[2]

//a = b;   //无法从“char *”转换为“char [6]”  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值