函数,指针与引用.pptx

函数,指针与引用.pptx

ID:52693463

大小:545.22 KB

页数:29页

时间:2020-02-07

函数,指针与引用.pptx_第1页
函数,指针与引用.pptx_第2页
函数,指针与引用.pptx_第3页
函数,指针与引用.pptx_第4页
函数,指针与引用.pptx_第5页
资源描述:

《函数,指针与引用.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Agenda:1.Function2.Pointer3.Struct4.ReferenceFunction主要内容:1.函数定义2.函数声明3.函数参数4.递归函数函数定义:类型函数名(形式参数…)//函数头head{代码块;//函数体body}Intmain(){代码块;}例子(一个简单的加法函数)intadd(inta,intb){returna+b;}…..函数的声明注意函数声明与函数定义的区别:函数声明:函数定义:函数声明:函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型

2、描述了函数的接口。为什么需要声明?当编译器遇到一个函数调用时,他怎么知道该函数期望接受的是什么类型和多少数量的参数呢?如何知道其返回值类型呢?通过函数的声明,编译器便可获取这些信息。Attention:在程序中,如果main()函数在前,必须在main()前写函数声明;如果函数在main()函数之前,那可以不在main()前写函数声明。函数参数C函数的所有参数均以“传值调用”的方式进行传递,即函数将获得参数值的一份copy,这样在函数内对传入的值进行修改也不必担心会修改调用实际传给它的参数。对于指针的传递…(待续)函数递归1.定义:递归函数即自调用函数,在

3、函数体内部直接或间接自己调用自己,即函数的嵌套调用时函数本身。例子如下intfact(intn){if(n==1)return1;elsereturnfact(n-1)*n;}例子2:斐波那契数列intfibo(int) {if(n==1

4、

5、n==2)return1;elsereturnfibo(n-1)+fibo(n-2);}PointerC的数据类型:Pointertype1.基本概念2.指针常量与变量3.指针的运用4.指针类型与数组5.指向结构体变量的指针内存编号,地址与指针常见数据类型所占字节数Char1Int4Shortint2Longint4F

6、loat4Double8一般情况下,指针这种数据应该包含两方面的信息:1.地址值2.所指向的数据的类型取地址运算符与指针常量:指针变量的运用定义形式:基数据类型*指针变量名;inta;doubleb;int*p1;double*p2;赋值:a=100;b=3.14;p1=&a;//利用&取出变量a的地址,将地址赋值给p1;p2=&b;//利用&取出变量b的地址,将地址赋值给p2;图示分析Attention:1.注意声明指针变量语句的*与指针运算符*的区别前者用来说明p1p2是变量指针,后者是取出指针指向的变量。2.切记要先给指针赋值,然后才能用*去访问该内

7、存空间。3.注意空指针的赋值:int*p1;p1=NULL;//也可以p1=0;指针与函数的传参正确的写法指针与数组通过指针访问数组元素注意:访问时要注意是否越界数组做参数传递结构体(struct)动态内存分配和释放malloc:free:free(p);例子课后思考链表的C实现C++在C上的扩充:引用代码示例:概念引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符&引用名=目标变量名;(注意是在C++上的C上会报错)与指针的区别:相同点:都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;而引用则

8、是某块内存的别名。不同点:指针是一个实体,而引用仅是个别名;引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;引用没有const,指针有const,const的指针不可变;引用不能为空,指针可以为空;“sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身的大小;指针和引用的自增(++)运算意义不一样;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。