《黑客基础—C语言编程篇—14.函数的说明》要点:
本文介绍了黑客基础—C语言编程篇—14.函数的说明,希望对您有用。如果有疑问,可以联系我们。
这篇文章有基础的人看很简单,所以,有基础的人就可以跳过了.看看也可以,我以前学的,好久没用了,不知道有没有错的地方.并且,说明一下,《黑客基础—C语言编程篇》针对的是C初学者,小白,有基础的人看有点简单.我建议你们可以先去学学linux,这样可以为以后用kali打下一个好的基础.
今天不讲那些很简单的函数,我们把今天的内容难度提高那么一点点,就是一点点,相信只要每次我们学习或者工作都努力那么一点点,那么保持下去,就会好很多.(小编我很崇拜星爷,星爷拍戏就是把每个环节都多做好那么“一点点”,这段话向精神偶像致敬!).
切入主题.
请问:能否把函数的名字作为实参?
答:当然可以!别忘了我们还有指针,只要声明一个指向函数的指针,那么就可以用指针来代替函数的入口.
再问:如何声明一个函数指针?有哪些注意事项?
再答:函数指针的类型是由函数的返回值来确定的,假如一个自定义函数,你设置的返回值类型是字符型,那么,char (*f) ( )=jack; 就可以了,其中,jack是之前自定义好的函数,f是指向函数的指针名.要注意的地方便是括号,是两个括号,而jack后面没有括号.
上面是声明的时候要注意的,下面则是使用的时候容易混淆的.
假如,要使用 jack()自定义函数,它的功能暂且不必要知道,a是变量,那么如何使用指针呢?如下:
(*f)(a);
f(a);
上面两者的功能就相当于 jack(a);很清晰吧!
那么,由此延伸,再反过来问:
int a[10];是声明一个数组对吧?那你能声明一个函数,这个函数里面有形参,而且不用一种声明方式吗?
依旧回答:可以!
int fun(a[]);合格
int fun(a[10]);合格
int fun(*a);依旧合格!
这里小编主要是提醒大家,数组名字就相当于一个地址,以上的三种声明都是可以的,时间一长,如果老不消C,那么就会忘记.
最后,在弥补一点:
int jack(int , double);声明一个自定义函数的时候,你看括号里面,这种情况就意味着形参只能是变量,而不克不及是指针或者数组.
而且,形参和实参是占用不同的内存,并不是说形参就不占用内存,如果不占用内存,那程序怎么计算你形参对应的程序呢?
今天的文章就到这了,C初学者没事可以看看我的这类文章,对你们的学习应该有赞助,而我也忘了不少,通过这种方式,我也能回忆回忆.以后我都会在文章中说明的.
如果喜欢,就存眷我吧!谢谢支持.
维易PHP学堂逐步分享更多《黑客基础—C语言编程篇—14.函数的说明》相关教程。欢迎交流
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9121.html