
正文
c语言传入函数不使用函数指针,c语言传入函数不使用函数指针可以吗
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言数组如何在函数中传递?不要指针传递
数组作为参数是按地址传递的 数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送, 也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。
不用指针,但又想通过在函数中改变此数组中的元素的值,方法如下:方法是实参与形参的对应关系为:形参和实参都用数组名。
传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址。void func(int array[10])void func(int array[])void func(int *array)所以以上三种函数声明完全等同。实际情况是,数组做参数,完全无法按值传递。
声明函数和实现函数要一致。kid bii(struct kid c) 这个定义一个返回kid类型的函数,形参是kid 不是指针。
属于地址传递,在函数里修改的话,将直接影响调用方的数值。这是因为数组名代表这个数组的首地址,不过是静态不可更改的而已。在函数里用引用[i]下标时,就是找到这个数组第i号元素的地址进行修改的。所以是第于是地址传递。
相关问答
Q1: c语言中如果函数的参数不用指针而用整数能否实现值交换?
可以用指针,但是C语言在函数调用实参和行参时只能进行单独的“值交换”,所以即使用指针也要改为他的值去进行交换,这样才可以传进实参,进行交换,否则只能在调用函数中有效。
不是。C语言只有指针,而C++多了个引用(语法糖,相当于自动间接引用的*const)。 如果C++不使用引用或者指针传递的话,是不能直接修改实际参数的,同样如果C语言不使用指针也不能修改实际参数的。
要用函数实现两个数的交换,则函数参数必须定义为指针形式,否则函数中对数值的修改将不会影响主调函数,这是C语言的规则。
这个无法交换数据。C语言函数参数的基本规则是值传递,所以传递时只能实现实参向形参的单向的、值的传递。这就是为什么需要使用指针才能实现值交换的原因。
但是随着你学的深入,你会知道指针才是c语言的灵魂。
Q2: c语言的函数体如何不用指针,将在编写函数中的一个字符组返回到主函数...
可以使用C语言中的数组来存储字符串,并通过函数来操作这个数组,最后在主函数中输出这个数组,无需使用指针。
所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。
反序字符串,只需要将首尾字符依次调换即可。
在C语言中,一个标准的函数定义语句块必须包含函数返回值的类型标识符、函数名、形参类型及数量、函数体、返回值表达式。
c语言传入函数不使用函数指针的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言传入函数不使用函数指针可以吗、c语言传入函数不使用函数指针的信息别忘了在本站进行查找喔。






