c语言返回函数的类型 c语言的函数返回值是做什么的

c语言函数返回类型默认为什么类型?函数返回类型是你定义函数时自己决定的c语言返回函数的类型,默认为int型
C语言函数格式为:
类型名
函数名(形参1c语言返回函数的类型,形参2……)
类型名就决定了返回类型,如果没有明确写出返回类型的话,默认为int类型 。
void是空类型,
void必须要明确写出来才可以,指的是函数不提供返回值,不是默认的 。
比如:
函数定义
int
fun(int
a)
返回值就是整型
函数定义
int
*fun(int
a)
返回值就是整型的指针
函数定义
void
fun(int
a)
无返回值
C语言规定 , 函数返回值的类型由什么决定?c语言规定,函数返回值的类型是由函数首部定义的类型决定 。函数返回值应与首部定义的类型一致,如若不一致 , 则自动将返回值强制转换为函数首部定义的类型 。没有定义类型时默认为int型 。
也就是说你的函数是什么类型,返回值就是什么类型 。
比如:
函数定义 int fun(int a,char b)
返回值就是整型
函数定义 int *fun(int a)
返回值就是基类型为整型的指针
函数定义 void fun(int a)
无返回值
扩展资料
函数可以有返回值,只要 return 就可以给出一个,不过常常不用它,有两个原因:
1、C/C里返回值是复制出去的,而对于大的对象,复制的代价很高;
2、有些对象是不能复制的,至少编译器不知道怎么复制,比如数组 。
于是有了下面这样的函数:
bool GetObj(ObjType obj);
bool Encode(const char* src, char* dest);
用一个参数来代替返回值,而返回值只是指示函数执行是否成功 。
返回一个大对象是困难的 , 但这个困难存在于 C 程序中,而不是 C程序中 。C 函数里较少通过返回一个指针来返回对象,因为:
【c语言返回函数的类型 c语言的函数返回值是做什么的】1、如果指针指向栈变量,毫无疑问 , 要么不用这个返回值,要么是一个错误;
2、如果指针指向堆变量,需要用这个函数的程序员会好好的看文档且足够细心会调用 free,要么就是内存泄漏;
3、如果指针指向 static 变量,那么用这个函数的程序员牢牢记住“下次调用这个函数以后,上次的返回值也会跟着变” 。
在C里直接返回裸指针的话,情况并不会有什么起色 , 不过 C有智能指针的 , 通常它们指向堆变量,占用的空间和裸指针一样大 。考虑前面第一个函数,写成:
std::auto_ptrObjType GetObj();
返回值如果不要,作为临时变量,会立即被析构,返回的对象被释放;如果需要,就得赋值给另一个智能指针 。总之不用程序员记得,编译器会保证这个对象的释放 。
考虑第二个函数,稍微有一点麻烦,因为 auto_ptr 是不能用来持有数组的,不过 , 在C的世界里,std::string 几乎总是比 char* 好用:
std::auto_ptrstd::string Encode(const char* src);
最后考虑最麻烦的情况:
bool AssembleObjList(ObjType objList[], size_t length);
c语言 函数返回值类型怎么用?c语言的函数的默认的返回值是int类型的,如果没有定义返回类型,则返回类型就是int
只有定义了其它的类型,例如float
add()才是float型的 , 括号里面参数是什么不影响返回类型
c语言中函数返回值的类型由什么决定?是由你定义函数时所定义的函数的类型决定的 。
也就是说函数是什么类型c语言返回函数的类型,返回值就是什么类型 。
比如c语言返回函数的类型:
函数定义int fun(int a,char b) 。
返回值就是整型 。
函数定义int *fun(int a) 。
返回值就是基类型为整型的指针 。
函数定义void fun(int a) 。
无返回值 。
简介
在调用函数时c语言返回函数的类型,如果需要从被调函数返回一个值供主调函数使用,那么返回值类型必须定义成非 void 型 。此时被调函数中必须包含 return 语句,而且 return 后面必须要有返回值,否则就是语法错误 。
一个函数中可以有多个 return 语句,但并不是所有的 return 语句都起作用 。执行到哪个 return 语句 , 就是哪个 return 语句起作用,该 return 语句后的其他语句都不会执行 。
C语言中函数返回类型和函数返回值函数的返回值通过return语句来执行c语言返回函数的类型 , 即return后的变量或表达式的值,就为该函数的返回值(c语言返回函数的类型你可以根据需要自定义返回什么值) , 而返回值的类型是指该值你想要得到的类型,比如return
a;(a的类型,你在函数体里定义的是int
a;但根据需要,你要的是一个float型的返回值) , 于是,这样定义一个函数c语言返回函数的类型:
float
函数名(参数列表)
{
int
a;
函数体;
……
return
a;
}
这样,返回值a就变成了float型 。
C语言中返回值类型是什么?你说c语言返回函数的类型的是函数c语言返回函数的类型的返回者吧
函数c语言返回函数的类型的值是指函数被调用之后 , 执行函数体中的程序段所取得的并返回给主调函数的值 。如调用正弦函数取得正弦值 。对函数的值(或称函数返回值)有以下一些说明:
1)函数的值只能通过return语句返回主调函数 。
return语句的一般形式为:
return 表达式;
或者为:
return (表达式);
该语句的功能是计算表达式的值 , 并返回给主调函数 。在函数中允许有多个return语句,但每次调用只能有一个return 语句被执行,因此只能返回一个函数值 。
2)函数值的类型和函数定义中函数的类型应保持一致 。如果两者不一致,则以函数类型为准,自动进行类型转换 。
3)如函数值为整型 , 在函数定义时可以省去类型说明 。
4)不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void” 。如例8.2中函数s并不向主函数返函数值,因此可定义为:
void s(int n)
{ ……
}
一旦函数被定义为空类型后,就不能在主调函数中使用被调函数的函数值c语言返回函数的类型了 。例如,在定义s为空类型后,在主函数中写下述语句
sum=s(n);
就是错误的 。
为了使程序有良好的可读性并减少出错,凡不要求返回值的函数都应定义为空类型 。
c语言返回函数的类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言的函数返回值是做什么的、c语言返回函数的类型的信息别忘了在本站进行查找喔 。

    推荐阅读