您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 怎么向子函数传递数组啊

怎么向子函数传递数组啊

来源:网络整理     时间:2016/7/2 6:42:43     关键词:

关于网友提出的“ 怎么向子函数传递数组啊”问题疑问,本网通过在网上对“ 怎么向子函数传递数组啊”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 怎么向子函数传递数组啊
描述:

main(){
char str[60];
f1(str);
}
void f1(char str[]){
char str1[60];
str1[60]=str[60];
}
比如这样的  貌似要用指针。。。书上也没找到-。-


解决方案1:

传递数组有两种方法:
1、传递指针,也就是指向数组第一个元素的指针,如果需要操作数组长度的话可再多传一个int型来记录数组长度。
2、传递数组的const引用,代码如下:

void f1(const char (&str)[60])

这个地方长度必须给定。与形参使用char str[]所不同的地方是,当传递实参的时候,函数会进行数组的长度匹配。而你写的那个声明并不会进行长度匹配,编译期无法检测出数组越界的错误,有可能会给程序带来严重的问题。 解决方案2:

数组在内存中是一块连续的区域。所以想传递数组时,只要传递首地址也就是数组名称即可,例如本例中的str,就代表这一块区域的首地址,然后在函数体内部直接操作地址就可以达到你要的效果。另外,str[60]越界了,数组下标从0开始的,最大是59.数组的整体拷贝需要用strcpy等函数,或者for循环等。


以上介绍了“ 怎么向子函数传递数组啊”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2201384.html

相关图片

相关文章