本文目录一览:
- 1、关于C语言数组返回值
- 2、c语言中的返回值
- 3、请问C语言中的返回值是什么意思,为什么要有返回值,解释一下,越通俗易懂越好!
- 4、c语言中怎样返回一个数组?
- 5、C语言中返回值是什么意思?有什么用?
关于C语言数组返回值
你错了
如图所示,我想问的问题是:
第一张图片之所以返回一个垃圾值是因为退出test函数后指针P指向变量a地址的值已经被释放,所以返回一个垃圾值!
答 不是返回垃圾值!而是返回a的地址!!所以输出是%d是a的地址
那么,同样的道理,第二张图返回的值也应该是个垃圾值才对啊!为什么返回的还是数组a所存放的值呢?
答 而是返回传入指针的地址!!只要该地址不被系统使用 自然输出字符串
c语言中的返回值
其实你的概念一定要清楚的哦,像这种问题得分两个情况来考虑的:
①首先看函数的行参,如果是数组类型或者是指针类型的,可以断定为“地址传递”,也就是说,一旦主函数调用该函数时,函数间是存在地址传递的,把要进行处理运算的主函数的内容的地址传递给函数,参与运算的数据其实就是主函数中的实参的内容,简单来讲,就是行参和实参共用一个地址的数据,也就是地址共享。对于这种传递,不管存不存在返回值问题,主函数中的实参的数据内容都会变化的;
②如果判断行参是变量的话,传递形式就为“值传递”,这样,主函数中的该变量值是不会改变的,因为两者的做用域是不同的,在函数里的变量只在该函数体里起作用,并不影响主函数里的变量的值。
其实,对于具体的问题,解答的方法不尽相同的,有些还得综合考虑定义变量的存储方式(有外部变量、内部变量、局部变量、全局变量)。
希望我的回答对你有帮助,谢谢!
请问C语言中的返回值是什么意思,为什么要有返回值,解释一下,越通俗易懂越好!
所谓返回值,函数才有,就类似于数学中的函数的概念f(x),其实跟数学概念一开始是一个意思,你传入一个值x,经过处理,然后返回处理的结果,处理的结果就叫做返回值。
就好像你拿原材料做衣服,需要拿材料到工厂里面加工,工厂就生产出衣服给你,衣服就是返回值。
这其实跟数学中函数的概念是一样的。
当然不是所有函数都有返回值,如一些函数只要完成某些特定的功能即可,不需要返回特定的值给主函数。如C语言中的printf这个方法,有些时候只希望屏幕输出一段加工过的文字,这就可以放在子函数中处理,而不需要将处理结果返回给主函数再处理,能够节省代码量。
又如一些多线程的函数,很多都是没有返回值。具体情况具体分析。。。
c语言中怎样返回一个数组?
在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。
在大多数情况下,一维数组和一维指针是可以通用的。
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。 代码可以写成如下形式:
int *int_array_create(int n)//参数n为数组元素个数
{
int *r;
if(n=0) return NULL;//参数错误
r = (int *)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度。
return r;//返回得到的整型数组的指针。
}
C语言中返回值是什么意思?有什么用?
就是子函数的返回值,main主函数也是有返回值的,但是一般用不到,都忽略掉了
所以说,一般来说的返回值就是子函数的返回值
还有一点一定要注意,就是一个子函数一定是只能返回一个值,多了不可以。只能用数组或指针来完成
函数的返回值一般有两种,无论有无返回值,都需要标类型
一个是void型的。这个一般也不用,他是空返回值。也就是当不需要返回值的时候,函数的类型标void。其实这个也是会返回一个值,好像是调用成功返回1,不成功返回0
另一种是非void型的。就是在函数前面写上类型,如int,float,char等,这个就是函数的返回值类型。这个一般在子函数的末尾或者程序的某个部位有个return返回一个。但是遇到return子函数一定是要结束的。
其实还有一种返回值,就是scanf和printf等系统带的函数,这个我知道printf的返回值是他打印的字符的数量。