编程思维 化整为零的处理思路

这里简单总结一下学习编程语言的思维方式
我们的学习,其实是学习处理问题的方式,从了解最基础的底层逻辑和规则开始,一点一点的构建知识的高塔;从最简单的二进制010101数字组合成一个个的字节,再从字节组合成一条条复杂的指令

什么是化零为整的思维

从字面上来理解,就是将一堆零碎的事物归纳整合成有相同性质的集合体;就好比将家里的垃圾收集并用垃圾袋装起来,再在地区内收集集中处理,这样就将大量的垃圾处理大问题分解成了许多个家庭各自处理垃圾的小问题
而编程时思路也与之大体一致,在接受一个项目的时候,我们先化整为零分析实现项目的功能,再分析实现每个功能的处理方式,也就是算法,最后再化零为正将这些方式整合成一个完整的程序,实现项目

学习语言时的化零为整

其实在学习c语言的过程中就已经接触到了化零为整的思维,将数组与空间维度进行联想;在空间维度中,零维是一个点,没有长度宽度高度的一个点,而一维便是无穷多个一维的点组合而成的一条线

数组中的化零为整

请添加图片描述
一维只有长度,在数组中可联想为一维数组是一条线,由若干个元素组合而成;而空间二维便是无数条一维的线组合而成
请添加图片描述
二维有长度和宽度,在数组中可联想为二维数组是一个面,由若干个一维数组组合而成,而二维数组其实也就是若干个简单的元素组合而成的复杂结构而已

函数中的化零为整

数组中的化零为整是其中一个思路,而函数中的化零为整,便是将一串能实现一个功能的代码整合成一个包;就好比维修工人的工具包,每一个工具都有自己的作用;一字螺丝刀可以拧开一字螺丝,扳手可以拧开螺帽,这些工具放在一起便能让维修工人修好一个家电,在函数中便是实现一个功能。
(但是函数中的代码也可以直接写在main函数中直接执行啊,那卸载函数中有何意义呢?)
就好比维修工人也可以直接将一个个工具拿在手上去维修,但是当工具多的时候就会很不方便携带;函数也是如此,虽然可以直接卸载main函数中直接运行,但如果这个功能会多次使用呢?后期要对函数内的代码进行修改调试呢?难道还要在main函数中一个一个修改吗?

多文件工程

在学到后面的时候,会了解到多文件工程;如果制作一个大型项目,只是将项目一次分解成小项目还是过于复杂,会使用大量函数的时候,还把所有函数都放在一个文件中便会非常复杂不方便进行维护,这时候便可以再次进行细分
就好比一个立方体太复杂分成无数个正方形,但还是太复杂,便可以将正方形再次分解成无数条线
在项目中也有这样的思路,将一系列相关的函数放在同一个文件中,通过定义头文件在main函数中整合成集合体
请添加图片描述
将实现中项目的函数整合在其他.c文件中,通过头文件调用在main函数中整合处理

结构体

如果有一个集合体中的每一个单位都有好几种不同类型的数据,用数组处理便会因为数组内数据类型一致的原因导致很难对其进行储存处理。这时候便涉及到结构体这个自定义的数据类型
结构体也是数据类型的一种,只不过是我们可以自定义的数据类型,结构体内可以定义若干个数据类型成员,并对自定义的结构体类型进行命名,方便对结构体变量进行定义

typedef struct zidingyi
{
	int a;
	int oa[6];
	char b;
	char ob[6];
	......
}zidingyi;
zidingyi bianliang = {0};	// 定义zidingyi类型变量
bianliang.a = 6;	// 对zidingyi类型变量的成员赋值

这有点像一个能存多个类型的数组模式的变量,这让原本为一条线的一维数组整合成了一个点

请添加图片描述
我们也可以将结构体变量看作一个维度,一条线,这样结构体一维数组便成了一个二维平面请添加图片描述
这样一个一维数组便是平面二维数组便会升级成为一个立体,不过技术限制画不出来
到这便不难理解c语言中的基本知识点,其实都是由简单的底层结构组合而成的,找到共性,化零为整便是学习编程的思维方式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋紫落霞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值