c语言中返回值的类型
Ⅰ c语言返回值具体是指什么
子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值。当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达
1、以值的形式返回给你,即return x,这样就可以利用这个结果了,此时函数名前当然要加返回的数据类型了
2、当不需要对这一结果进一步处理时,直接printf,这样可以直接在终端上显示结果了,这时就没必要去加了,直接VOID
(1)c语言中返回值的类型扩展阅读
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 * 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
Ⅱ C语言中常说的返回值是指什么返回数值
函数的返回值有很多类型。我们先大略了解一下函数
函数,在英文版c中为“funtion”,意思是“功能”。
一个函数的目的是实现某一个功能。函数的作用是处理数据。
不同函数有不同的返回值。
我们把洗衣机和电饭锅,洗衣机给我们的返回值是干净的衣服,电饭锅给我们的返回值是饭。
有些函数还需要参数值,对这些数值进行处理。
比如洗衣机需要我们传的参数是脏衣服。电饭锅需要我们传的参数是生米、水。
函数可以是我们自己编写的,也可以是c语言开发者已经帮我们编写好的。
我们自己写的比如
int
max(int
x,int
y)
{
return
x:y?x>y;
}
这个函数作用是挑出两个数中的最大的那个数并返回,类型是int;
C语言开发者提供的比如float
sqrt(float
n);这个函数作用是求开方,返回一个开方值,类型是float;
Ⅲ C语言返回值类型
因为ch=fgetc(fp)中,ch是个字符型变量,据此可以确定fgetc()函数的返回值类型是char,又因为传入的fp是个文件指针,所以可以确定参数的数据类型,现在可以确定D的正确答案。
********************************************
标准库函数就是在设计C语言时已经设计好的函数,在使用它们时只需要包含声明所在头文件就可以了,这些函数都应该记住它们的用法和原型,fgetc就是一个。还有printf(),scanf()也都是标准库函数
Ⅳ C语言规定,函数返回值的类型由什么决定
c语言规定,函数返回值的类型是由函数首部定义的类型决定。函数返回值应与首部定义的类型一致,如若不一致,则自动将返回值强制转换为函数首部定义的类型。没有定义类型时默认为int型。
也就是说你的函数是什么类型,返回值就是什么类型。
比如:
函数定义 int fun(int a,char b)
返回值就是整型
函数定义 int *fun(int a)
返回值就是基类型为整型的指针
函数定义 void fun(int a)
无返回值
(4)c语言中返回值的类型扩展阅读
函数可以有返回值,只要 return 就可以给出一个,不过常常不用它,有两个原因:
1、C/C++里返回值是复制出去的,而对于大的对象,复制的代价很高;
2、有些对象是不能复制的,至少编译器不知道怎么复制,比如数组。
于是有了下面这样的函数:
bool GetObj(ObjType& obj);
bool Encode(const char* src, char* dest);
用一个参数来代替返回值,而返回值只是指示函数执行是否成功。
返回一个大对象是困难的,但这个困难存在于 C 程序中,而不是 C++ 程序中。 C 函数里较少通过返回一个指针来返回对象,因为:
1、如果指针指向栈变量,毫无疑问,要么不用这个返回值,要么是一个错误;
2、如果指针指向堆变量,需要用这个函数的程序员会好好的看文档且足够细心会调用 free,要么就是内存泄漏;
3、如果指针指向 static 变量,那么用这个函数的程序员牢牢记住“下次调用这个函数以后,上次的返回值也会跟着变”。
在C++里直接返回裸指针的话,情况并不会有什么起色,不过 C++ 有智能指针的,通常它们指向堆变量,占用的空间和裸指针一样大。考虑前面第一个函数,写成:
std::auto_ptr<ObjType> GetObj();
返回值如果不要,作为临时变量,会立即被析构,返回的对象被释放;如果需要,就得赋值给另一个智能指针。总之不用程序员记得,编译器会保证这个对象的释放。
考虑第二个函数,稍微有一点麻烦,因为 auto_ptr 是不能用来持有数组的,不过,在C++的世界里,std::string 几乎总是比 char* 好用:
std::auto_ptr<std::string> Encode(const char* src);
最后考虑最麻烦的情况:
bool AssembleObjList(ObjType objList[], size_t length);
Ⅳ c语言中函数返回值的类型由什么决定
是由你定义函数时所定义的函数的类型决定的。
也就是说函数是什么类型,返回值就是什么类型。
比如:
函数定义 int fun(int a,char b)。
返回值就是整型。
函数定义 int *fun(int a)。
返回值就是基类型为整型的指针。
函数定义 void fun(int a)。
无返回值。
简介
在调用函数时,如果需要从被调函数返回一个值供主调函数使用,那么返回值类型必须定义成非 void 型。此时被调函数中必须包含 return 语句,而且 return 后面必须要有返回值,否则就是语法错误。
一个函数中可以有多个 return 语句,但并不是所有的 return 语句都起作用。执行到哪个 return 语句,就是哪个 return 语句起作用,该 return 语句后的其他语句都不会执行。
Ⅵ C语言中返回值是什么意思有什么用
一个函数就相当于一个加工车间,参数相当于原材料,返回值即为成品。
比如,你将数字2传递给函数f(x),最后得到的是8,8即为返回值。
Ⅶ c语言 函数返回值类型怎么用
c语言的函数的默认的返回值是int类型的,如果没有定义返回类型,则返回类型就是int
只有定义了其它的类型,例如float
add()才是float型的,括号里面参数是什么不影响返回类型
Ⅷ C语言中返回值类型是什么
你说的是函数的返回者吧
函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。如调用正弦函数取得正弦值。对函数的值(或称函数返回值)有以下一些说明:
1) 函数的值只能通过return语句返回主调函数。
return 语句的一般形式为:
return 表达式;
或者为:
return (表达式);
该语句的功能是计算表达式的值,并返回给主调函数。在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此只能返回一个函数值。
2) 函数值的类型和函数定义中函数的类型应保持一致。如果两者不一致,则以函数类型为准,自动进行类型转换。
3) 如函数值为整型,在函数定义时可以省去类型说明。
4) 不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。如例8.2中函数s并不向主函数返函数值,因此可定义为:
void s(int n)
{ ……
}
一旦函数被定义为空类型后,就不能在主调函数中使用被调函数的函数值了。例如,在定义s为空类型后,在主函数中写下述语句
sum=s(n);
就是错误的。
为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为空类型。
Ⅸ C语言中函数返回类型和函数返回值
函数的返回值通过return语句来执行,即return后的变量或表达式的值,就为该函数的返回值(你可以根据需要自定义返回什么值),而返回值的类型是指该值你想要得到的类型,比如return
a;(a的类型,你在函数体里定义的是int
a;但根据需要,你要的是一个float型的返回值),于是,这样定义一个函数:
float
函数名(参数列表)
{
int
a;
函数体;
……
return
a;
}
这样,返回值a就变成了float型。
Ⅹ 在C语言中,函数返回值的数据类型取决于什么
是由你定义函数时所定义的函数的类型决定的。
也就是说你的函数是什么类型,返回值就是什么类型。
比如:
函数定义 int fun(int a,char b)
返回值就是整型
函数定义 int *fun(int a)
返回值就是基类型为整型的指针
函数定义 void fun(int a)
无返回值