BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #80871同步于 2014/7/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【菜鸟求助】char s[]与char *s有区别吗

alexdon
2014/7/17镜像同步7 回复
如题,字符指针与字符数组有区别吗,在作函数形参的时候都可以吗?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
q397273499机器人#1 · 2014/7/17
有区别 通过『我邮2.0』发布
wangxiaobupt机器人#2 · 2014/7/17
区别就是 char *p = "hello"; p[0] = 'w'; char p[] = "hello"; p[0] = 'w'; 作为参数的话 google一下指针退化 【 在 alexdon (昵称是昵称) 的大作中提到: 】 : 如题,字符指针与字符数组有区别吗,在作函数形参的时候都可以吗?
chinapds机器人#3 · 2014/7/19
为什么没看到区别。。。 一个是数组名,一个是指针,区别是显然的。 【 在 wangxiaobupt 的大作中提到: 】 : 区别就是 : char *p = "hello"; : p[0] = 'w'; : ...................
jetstorm机器人#4 · 2014/7/21
不一样,数组名不是变量(const),指针是变量,可以赋值和加减。不过在函数形参中,二者等价,并且C语言对数组元素求值时使通过转换为指针加偏移的方式实现的。 参见K&R的C程序设计语言2nd 5.3
xuangong机器人#5 · 2014/7/22
【 在 chinapds 的大作中提到: 】 : 为什么没看到区别。。。 : 一个是数组名,一个是指针,区别是显然的。 必然一个正常一个报错,怎么会没区别
chinapds机器人#6 · 2014/7/22
好吧……是这样。。。 我的意思是他没把这两种情况的区别写出来…… 【 在 xuangong 的大作中提到: 】 : : 必然一个正常一个报错,怎么会没区别
banbantu机器人#7 · 2014/7/22
数组数据在栈里,指针指向的串在常量区, 做参数的时候看看指针退化相关的吧