专栏首页诸葛青云的专栏3分钟读懂C语言函数:这些例子一看就懂!|一键删除账户教学

3分钟读懂C语言函数:这些例子一看就懂!|一键删除账户教学

理论+应用教学篇

最近发现,有些小伙伴对C语言的函数有些难以理解,其实呢,C语言的函数很好理解,只不过部分人在学习的时候,没有找到好的例子来类比理解而已。这篇文章会教大家如何去理解C语言的函数,也就是俗称的讲理论,但是这篇文章的理论会十分有利于大家来理解。

相信大多数人都不怎么喜欢听别人“讲理论”,而是喜欢实际的操作一遍,小编也深有体会哈。所以!这篇文章先让大家理解函数字面上的意思,然后教大家把“函数知识”应用到现实中来,怎么应用呢?这里教大家做一个小程序——一键删除对方电脑账户。

该程序实例仅用来当做教学例子哦

理论篇

函数是什么?

对于这个问题,官方的解释是“函数是用于完成特定任务的程序代码的自包含单元”,但是究竟怎么理解这句话呢?

举个例子,C语言中的printf()函数,这个函数就是用于完成特定任务的程序代码集合,用于完成什么特定任务呢?printf()能将字符打印到屏幕上,这就是它所完成的任务。但是什么是自包含呢?现在我们举个例子↓

自包含

非自包含

从上面这个例子来看,自包含说的是,这个函数能独立运行、编译、可移植,不需要其他函数来支持,例如,图中的非自包含,这个函数离开了printf()函数就不能运行了,所以,这个算是不独立运行的了。

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:870963251!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

为什么要使用函数呢?

用简单一句话来回答这个问题:“为了方便、为了安全”。

为了方便是怎么回事呢?首先,函数是一个可移植的代码集合,也就是说,一个完整的函数能够在任何地方使用,函数就是一个模块。一个函数会实现某一个特定功能,例如:“使计算机嗡鸣”,要实现这个功能可能需要上百行代码,而我们为了方便,将这些代码封装在这个函数里面,我们要使计算机嗡鸣的时候,只要调用函数就行了。举个例子↓

假设汽车是一个程序,而传动系统、制动系统、行走系统、转向系统我们称它为函数,程序离开函数就无法运行,而函数则可以随便移植,例如,一辆汽车的制动系统一直到另一辆车身上也能运行

为什么是安全的呢?很多函数它能够完成特定的功能,而函数里面具体的算法、代码对外是不可见的、是封装好的,使用函数的人只需要了解这个函数能够完成什么功能就行了,并不需要了解函数内部具体的实现算法。这个规则在开发软件的时候特别重要。你想一下,你辛辛苦苦写好的程序,被别人不费吹灰之力就破解了,这是什么感受呢?

如何用一句话来理解函数?

一般来说,一个C函数会有一个参数,例如printf("XX"),“‘XX’”就是参数,有时候一个函数还能对外输出,例如printf()将“XX”打印到屏幕上,这也是一种输出

要理解很简单,假如你的手里有一个苹果,和一个黑盒子,你把苹果放到黑盒子里,再重新拿出来它就变成了一个梨。这个例子中,苹果是参数,黑盒子是函数,梨是输出

应用篇——一键删除对方账户

这个程序比较简单,我们要做一个能删除计算机账户的函数。这里,函数没有参数,它的功能是:“删除特定的账户”。这里小编用自己的电脑做一个测试,首先在电脑上建立一个名为“H”的账户,然后利用C程序一键删除它!注意:生成的这个程序要以管理员身份运行哦。

别小看这个程序,如果在这个程序之上添加一些特定的功能,就可以在不知不觉中将电脑中的Administrator用户删除,然后把自己设置的账户变成系统超级管理员,这个电脑的“超级权限”就归你了。

下面是源码↓

以上程序实例仅用于举例,不要过度解读哦

原文链接:https://www.jianshu.com/writer#/notebooks/28627489/notes/33368922

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 0基础学习C语言第六章:函数

    函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

    诸葛青云
  • C语言概述归纳整理

    2.一个c程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何,最后在main函数中结束。

    诸葛青云
  • 最全的C语言基础知识梳理总结

    C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知识梳理总结,C语言零基础入门绝对不是天方夜谭!

    诸葛青云
  • 聊一聊编程中的函数

    给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表...

    算法与编程之美
  • 学会使用函数式编程的程序员(第1部分)

    在这篇由多部分组成的文章中,接下来将介绍函数式编程的一些概念,这些概念对你学习函数式编程有所帮助。如果你已经懂了什么是函数式编程,这可以加深你的理解。

    前端小智@大迁世界
  • Kotlin中let()with()run()apply()also()函数的使用方法与区别

    相比Java, Kotlin提供了不少高级语法特性。对于一个Kotlin的初学者来说经常会写出一些不够优雅的代码。在Kotlin中的源码标准库(Standard...

    砸漏
  • 什么是python的函数体

    函数的概念,函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集

    砸漏
  • Matlab系列之那些数学函数(讨论功能已加入)

    本来是打算写关于矩阵的一些东西,但是弄了一半,发现需要的线代知识有点多,直接讲相关的使用,就太直白了,可能根本无法理解是什么意思,如果讲线代的知识,就感觉和该系...

    狂人V
  • 程序员的函数

    在对函数求导数或者微分的过程中,如果能够知道原函数的图像,对照图像去理解各点的导数、微分、梯度等概念,比纯粹靠函数式理解要直观得多。

    叶锦鲤
  • 机器学习中的数学:为什么对数如此重要

    当然,如果你是一个忙碌的人,没有时间去健身房,把楼梯当作是有氧运动的简易版,那么走楼梯会更好。但是除此之外,你更可能选择乘电梯。

    deephub

扫码关注云+社区

领取腾讯云代金券