黑马程序员技术交流社区
标题:
关于形参是指针还是数组的问题,请教一下各位大神~
[打印本页]
作者:
彈指っ紅顏老
时间:
2014-11-22 14:12
标题:
关于形参是指针还是数组的问题,请教一下各位大神~
昨天做了一下练习题“编写一个函数void strlink(char s[], char t[])将字符串t连接到字符串s的尾部”,函数中形参用了字符数组s[]和t[],实参也是两个数组。我忽然想到了之前做得一个习题“求一个数组中得最大值”,其中函数里也是将形参定义为一个数组,实参也是一个数组,但是系统发出警告让把形参的数组改为指针,这个问题有同学在我们论坛提出来过……那么问题来了,实参同样是数组,那什么情况下形参应该是指针,什么情况下形参是数组而且不报警呢?
作者:
doudou33420
时间:
2014-11-22 14:30
没听懂啊哥们,, 实参是数组 形参是数组, 传过去不会有警告啊 我刚试了
作者:
杨贺阳
时间:
2014-11-22 15:14
楼主你好,我也是新手。
你这样提问有些不准确,没有例子不好讨论。
我大概理解楼主的意思,解答如下:
形参是数组的时候不会报警,但是sizeof(数组名)就会报警,因为数组 当做形参的时候,会把数组当做指针变量来使用,指针变量的长度在32位编译器 和64位编译器上是不同的,所以,当你sizeof()的时候,会报警,提醒你这样做是不准确的。
作者:
彈指っ紅顏老
时间:
2014-11-24 00:18
杨贺阳 发表于 2014-11-22 15:14
楼主你好,我也是新手。
你这样提问有些不准确,没有例子不好讨论。
我大概理解楼主的意思,解答如下:
明白了!非常感谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2