怎么向子函数传递数组啊
main(){
char str[60];
f1(str);
}
void f1(char str[]){
char str1[60];
str1[60]=str[60];
}
比如这样的 貌似要用指针。。。书上也没找到-。-
[解决办法]
数组在内存中是一块连续的区域。所以想传递数组时,只要传递首地址也就是数组名称即可,例如本例中的str,就代表这一块区域的首地址,然后在函数体内部直接操作地址就可以达到你要的效果。另外,str[60]越界了,数组下标从0开始的,最大是59.数组的整体拷贝需要用strcpy等函数,或者for循环等。
[解决办法]
传递数组有两种方法:
1、传递指针,也就是指向数组第一个元素的指针,如果需要操作数组长度的话可再多传一个int型来记录数组长度。
2、传递数组的const引用,代码如下:
void f1(const char (&str)[60])
[解决办法]
#include<iostream>using namespace std;void func(char *s){ char *str; str=s; cout<<str;}int main(){ char str[60]="hello"; func(str); system("pause"); }