重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、因为数组在内存中是一块连续的内存,只要将该数组的首地址传进去,当然就可以访问整个数组了。值得注意的是,由于只传了首地址,函数不知道数组的维数,所以还得把数组的维数传进去,那就可以完全操作该数组了。\x0d\x0a\x0d\x0a2、例:有一个函数声明:void fun( int aa[],int size );或者void fun( int *pa,int size );\x0d\x0a以上两种声明都一样。\x0d\x0a调用上诉函数时:假设有 int ab[10];\x0d\x0afun( ab,10 )就可以了。
10年积累的成都做网站、成都网站制作、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有济水街道免费网站建设让你可以放心的选择与我们合作。
说下传值,传址以及引用吧。
传值,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值。
传址,就是传变量的地址赋给函数里形式参数的指针,使指针指向真实的变量的地址,因为对指针所指地址的内容的改变能反映到函数外,也就是能改变函数外的变量的值。
传引用,实际是通过指针来实现的,能达到使用的效果如传址,可是使用方式如传值。
说几点建议:
如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。
因而如果int,char等固有类型,而是你自己定义的类或结构等,都建议传指针或引用,因为他们不会创建新的对象。
因为函数的参数的传递是按值传递的 ,也就是复制。比如你的函数传递 1,2 两个参数,
那么,函数在参数压栈的时候,1和2都会被复制,然后形式参数获得拷贝份1,2.
所以,如果参数的个数较多,或者某个参数较大,比如结构体类,那么复制就会很耗时间。
一般来说,参数的个数最好不要超过4个。
就是说主函数调用自定义函数时,传递的参数数量要一致。比如:
void fun()
{……}
main()
{
fun(); //调用的时候没有参数,上面自定义函数fun后面的括号里就没有参数
}
再比如:
void fun(int a,int b)
{……}
main()
{
fun(3,4); //调用的时候有两个参数,上面自定义函数fun后面的括号里就用两个参数来接收
}