C语言函数浅析

函数作用:main中代码的模块化


函数的重点:
1、传参: 
类型必须绝对匹配
2、返回值


函数传参有几种形式?
只有一种,就是复制传参


复制的参数可以是任意的基本数据类型和构造数据类型


函数一个参数只能传一个值过去!!!


如果有我一个函数是处理图片的,那么有一个图片大小为3M,怎么把图片通过函数传过去?
我们只需要传递3M图片的首地址


函数怎么知道图片是3M?
加一个参数,参数表示图片大小


能否只用一个参数搞定?
可以,图片中有标准的图片信息(图片头)


什么是形参和实参?
实参:调用函数的参数就是实参
形参:函数定义中的参数就是形参


形参和实参是否是在同一个空间?
形参和实参各自有各自的空间


函数返回值能返回几个值?
只能返回一个


怎么返回多余一个?
返回多个数据的首地址(数据是在内存中是连续的)


随意输入一句话(welcome to beijing),把每个单词存起来,然后拼接起来打印,要求使用指针数组?


函数指针
1、int a[2][3]; char b[4][100]; int (*pa)[3] = a; char (*pb)[100] = b; 一、数据类型 二、数组维数
2、什么是函数的首地址:函数名称就是函数的首地址
3、定义函数指针要考虑什么?
一、形参的个数和类型
二、返回值类型
三、函数指针变量和函数的形参和返回值必须一样
4、int plus(int a, int b); int (*fp)(int, int) = plus;
5、char *plus(int a, int b, char **p); char *(*fp)(int, int, char **) = plus;


函数指针数组
1、首先它是一个数组,数组里面存的指针,指针类型是函数指针
2、数组中元素类型一样,形参个数、形参类型和返回值类型都一样


怎么在系统利找一个文件?
1、locate
基于数据库的查找
使用方法:locate 文件名
注意:新文件不在数据库中,查找新文件的方法是先更新数据库sudo updatedb,然后locate 文件名
2、find
基于硬盘的查找


gcc的编译过程:预编译(cpp)->编译(cc1)->汇编(as)->链接(ld)
1、cpp fp.c -o fp.i
2、/usr/lib/gcc/i686-linux-gnu/4.6/cc1 fp.i
3、as fp.s
4、ld fp.o -dynamic-linker /lib/ld-linux.so.2 /usr/lib/i386-linux-gnu/crt1.o /usr/lib/i386-linux-gnu/crti.o 
  /usr/lib/gcc/i686-linux-gnu/4.6/crtbegin.o /usr/lib/gcc/i686-linux-gnu/4.6/crtend.o 
  /usr/lib/i386-linux-gnu/crtn.o -lc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值