www.3112.net > C语言函数形参是数组

C语言函数形参是数组

c语言函数调用方法:1、如果func是一个已经定义的函数;2、可以这么写:func();3、也可以这么写,如果func有返回值:a = func();4、还可以这么写: while(func()){}或 if(func()){}

在定义函数时,函数名后面括号中的变量名称为“形式参数”,简称“形参”;在主函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为“实际参数”(简称“实参”). 在主函数里的是实参,在子函数里的是形参.因为在真正执行的时候是把实参传递给形参来执行的,所以实参才是实际的参数.我举个简单例子, 比如: int jjj(int a, int b) void main() { int x, int y; jjj(x, y); } a、b是形参,x和y是实参.

可以,你这个问题涉及到变量的作用域的问题,a[10]这个数组变量只作用于main()函数中,新的函数fun中的实参*a作为在函数作用于中有效,所以双方互不影响.

可以为指针或着说是地址. 因为对于数组来说只需要传递数组的某个地址例如传递数组a[] 的a或者任意一个地址&a[4]等

数组作为形参,传递的是能够代表一个维度的数组的数组名,也就是地址.所以形参只能是一维数组的形式(当然可以是用指针表示的).而实参可以是一维数组,也可以使多为数组的某一维的数组名.下面是定义的两中普通函数的形式(假设传递的是整形的数组) void function(int a[]){} void function(int * a){}

c语言不允许那样定义数组,你必须得先声明数组的大小.或者可以写成下面的形式:int size;scanf("%d",&size); int *a=(int *)malloc(sizeof(int)*size); for(i = 0;i 评论0 0 0

1.保证传递的实参不被改变,因此可以考虑定义局部数组用于返回,但是考虑到程序的健壮性,应该在定义时用const限定2.只对形参的数组操作,可用一个简单的return 返回,但前提是不能返回动态开辟的内存因此可以定义为如下形式:ElemType * fun(const ElemType *array)或者其他等同形式3.很多C语言库函数就是这样定义,如strcpy函数等,但是C语言中并没有const关键字

数组名要有,长度要看是否需要了.实参和形参要对应的,要有都要有,要么都没有.

C语言中数组名作为实参传给被调用的函数时,形参获得的是数组的起始地址.还是用例子说话吧.#include<stdio.h> int *arry(int *a) { int *b; b = a; int i; for(i=0;i<5;i++) { printf("%d",a[i]); } return b; } int main() { int a[5] = {1,2,3,4,5}; int *c; int i; c =

如果仅仅为了修改数组的值,是不需要返回值了,因为代表了一个单元.但是按照规范来说,最好每一个调用函数都有一个返回值比较安全.例如当你做容错的时候也方便多了.楼下的哥们,就算是改变值也没有必要返回值,注意他的参数是一个数组名,是一个地址.

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com