返回信息流如题,字符指针与字符数组有区别吗,在作函数形参的时候都可以吗?
这是一条镜像帖。来源:北邮人论坛 / cpp / #80871同步于 2014/7/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【菜鸟求助】char s[]与char *s有区别吗
alexdon
2014/7/17镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
区别就是
char *p = "hello";
p[0] = 'w';
char p[] = "hello";
p[0] = 'w';
作为参数的话 google一下指针退化
【 在 alexdon (昵称是昵称) 的大作中提到: 】
: 如题,字符指针与字符数组有区别吗,在作函数形参的时候都可以吗?
为什么没看到区别。。。
一个是数组名,一个是指针,区别是显然的。
【 在 wangxiaobupt 的大作中提到: 】
: 区别就是
: char *p = "hello";
: p[0] = 'w';
: ...................
不一样,数组名不是变量(const),指针是变量,可以赋值和加减。不过在函数形参中,二者等价,并且C语言对数组元素求值时使通过转换为指针加偏移的方式实现的。
参见K&R的C程序设计语言2nd 5.3
【 在 chinapds 的大作中提到: 】
: 为什么没看到区别。。。
: 一个是数组名,一个是指针,区别是显然的。
必然一个正常一个报错,怎么会没区别
好吧……是这样。。。
我的意思是他没把这两种情况的区别写出来……
【 在 xuangong 的大作中提到: 】
:
: 必然一个正常一个报错,怎么会没区别