永发信息网

c语言字符串传参问题

答案:2  悬赏:70  手机版
解决时间 2021-12-17 09:50
void fun1(char a[ ]){....}
void fun2(char *w){
....
fun1(w);
.....
}
请问为什么这种形式的传参是可行的?不是说C语言中数组名可以复制给指针表示地址, 但是却不能赋给给数组名,它是一个常量类型,所以不能修改么?
最佳答案
这种形式的传参是可行的。

因为void fun1(char a[ ]){....}实际上是等价于void fun1(char *a){....}

C语言中数组名可以复制给指针表示地址, 但是却不能赋给数组名,因为数组名是一个常量类型,所以不能修改。确实这样,但在形参传值时却是一个例外。
全部回答
问问团队uranus 的回答依然没有解决这个问题,实际上在c语言里面的string类型依然是用字符数组来实现的,所以在这里用string来定义和用字符数组定义是一个道理……这里你如果在用之前并不知道需要多少的存储空间可以通过定义字符指针的的形式来实现……在用的时候通过动态分配内存,用多少分配多少就可以了……不用想的那么复杂……
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
湘潭市岳塘区审计局办公地址在什么地方?我要
自卸货车车厢没有复位发生的事故保险公司应不
湘潭县审计局地址有知道的么?有点事想过去!
湘乡市审计局在什么地方啊,我要处理点事
飞机上袋装饼干为什么会胀包?
莲子能用来做什么菜吗?
韶山市审计局办公地址在什么地方?我要处理点
苹果6手机百度云盘发现选项在哪里
教师资格证多少分合格
在CF团队竞技模式时,怎么卡进地下?
衡阳市珠晖区审计局在什么地方啊,我要处理点
拍牌的押金当天退的吗
雁峰区审计局办公地址在什么地方?我要处理点
PSP游戏:山脊赛车2选项的中文意思?
衡阳市审计局办公地址在什么地方?我要处理点
推荐资讯
上海大众朗逸1.6自动档换火花塞新的比旧的短
乐视max2的6G运行内存在哪看,
大顺派出所地址有知道的么?有点事想过去!
阿庆阅读答案
k1092第16车厢109是靠窗吗?
明家村委会在什么地方啊,我要处理点事
三洋滚筒洗衣机更换电脑主板要多少钱
在低音炮音箱的电路板上印有fl1是什么零件?
单选题下列说法中正确的是A.β射线就是大量的
去年领的驾驶证b照,过了一年还要去考理论么
单选题某公司对购买各种产品的顾客实行如下优
韩国大妃是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?