C语言学习笔记-W6

简介: W6-函数

w6 函数
什么时候需要函数:封装部分功能,便于反复使用
函数定义与使用:int(返回类型,不能是数组) is_Prime( int num(形参) ) {
...
return res(返回值);
}
在调用函数前,必须对其进行声明或定义

调用时需要匹配参数类型和参数数目
 不匹配怎么办?编译器悄悄转换
 已经遇到原型:根据原型要求转换类型
 未遇到原型:默认实参提升(float转double,char/short转int)

   本地变量
定义在块内,进入块前不存在,离开块后其中变量消失

   函数调用和参数传递
参数在函数调用时,会以值传递方式进行初始化,将实参内存里的值,拷贝到形参所在的内存里,这是两块内存空间,在函数内部访问只在其对应内存上操作,不会影响main函数的内存
形参包含的是实参的副本,就是把实参的值赋给形参参加运算,传入的数大小不受运算影响

函数最后的return 0实际上给了操作系统,表达进程是否正常退出,0正1否

将数组作为参数传递
void BubbleSort(const(强调不得改变) int [ ], int len);
传递的是数组的首地址,内存中只有一份数组的拷贝,如果对数组进行任何赋值修改的操作,会改变原数组的值

函数返回值
return: 返回函数到被调用的地方
exit: 退出整个程序运行,main退出

利用栈实现函数调用与返回
main从上往下占用内存,当中调用的函数从下往上占用内存
即不同函数都在栈上,但是是完全独立的两块空间
目录
相关文章
|
6月前
|
C语言
C语言学习笔记-C语言中的数据类型
C语言学习笔记-C语言中的数据类型
|
6月前
|
C语言
C语言学习笔记-数组
C语言学习笔记-数组
|
6月前
|
C语言
C语言学习笔记-C语言中的运算符
C语言学习笔记-C语言中的运算符
|
11月前
|
存储 编译器 C语言
终于学会数组的使用啦~~~------C语言数组学习笔记详解
终于学会数组的使用啦~~~------C语言数组学习笔记详解
103 1
|
6月前
|
C语言
C语言学习笔记-C语言中的程序结构语句
C语言学习笔记-C语言中的程序结构语句
|
1月前
|
C语言
C语言学习笔记-知识点总结上
C语言学习笔记-知识点总结上
66 1
|
6月前
|
C语言
C语言学习笔记-初识C语言
C语言学习笔记-初识C语言
|
5月前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
42 5
|
5月前
|
文件存储 C语言
|
5月前
|
存储 机器学习/深度学习 编译器
C语言代码学习笔记
<编程精粹:编写高质量C语言代码> 读书笔记