【学习复盘】聊聊近期C语言进阶&ICT VLAN互通学习心得(附代码)
✨ 专栏:通信&华为ICT自学日记
更新时间:2026.07.10
个人状态:大二通信在读|空档期专注自学|从零系统补基础|ICT学到VLAN间互通
一、久违更新,聊聊我停更后最真实的学习状态
好久不见!这次重新捡起来写博客,最大的改变就是:不再为了更新而学习,只为自己复盘、留痕而记录。
之前大一的时候为了冲日更,一天一篇逼着自己输出,最后搞得特别内耗。文章长短乱、排版乱、内容也浮在表面,很多东西刚学就往外发,自己其实根本没吃透。后来忙着班委、学生会的事,加上专业课压力大,索性就停更沉淀了很久。
现在空档期时间比较自由,我终于可以慢下来、踏踏实实地补基础、备考华为ICT。不赶速度、不水文,每一篇都是我自己实打实的学习复盘,也想分享给同是通信专业、同样在备考ICT的小伙伴,大家一起交流进步。
简单同步下我现在的真实进度(普通学生自学,非大佬):
-
📌 专业课:主攻计算机网络,模电、信号与系统能看懂基础内容,现阶段重点夯实网络逻辑
-
📌 华为ICT:从最基础的交换机配置学起,目前已经学到 不同VLAN之间通信,刚啃完单臂路由、三层VLANIF互通
-
📌 C语言:不再死磕入门输出,重新复盘数组、循环、嵌套判断,学着用代码模拟简单的网络逻辑
这篇就当做回归第一篇复盘,把我近期的学习感悟、踩的坑、还有自己写的进阶代码一并分享出来,大家有不同理解也欢迎评论区一起讨论。
二、聊聊心里话:学网络为什么我现在还在补C语言?
相信很多通信、网工的同学都有一样的疑惑:我学ICT、敲配置就行,到底为什么还要学C语言?
我之前也有这种想法,觉得编程和网络是两码事。但真正学到VLAN隔离、跨网段互通之后,我才慢慢意识到,两者的逻辑其实是通的。
对我们普通学生自学来说,不用追求写项目、搞开发,但是学好C语言真的能帮我们很多:
-
锻炼判断逻辑:VLAN放通、网段匹配、链路校验,本质都是「条件判断+筛选匹配」,和C语言的if、for逻辑一模一样
-
看懂底层逻辑:网络设备、协议底层大多是C实现,会点编程,就不会只停留在“背命令、敲命令”的阶段
-
为后续进阶铺路:不管是后续更深的网络学习、简单自动化运维,还是专业课考试,C语言都是绕不开的基础
所以我现在的学习节奏就是 网络实操 + 编程基础双线并行,网络练动手,代码练思维,感觉比单一刷题、敲命令扎实很多。
三、近期C语言进阶练习(结合网络场景,可直接运行)
我这段时间重新刷C,刻意避开了最简单的hello world、基础输出,专门写了几个贴近网络、贴近VLAN学习的案例,用来练逻辑、帮自己理解组网规则。
难度适合刚过完入门阶段、想进阶的同学,代码我都实测跑通,注释写得很细,大家可以拿去练练手,有优化思路也可以随时交流!
1. 多层条件判断——模拟VLAN网段合法性校验
学VLAN互通最基础的就是:VLAN ID、网段必须合法。我用多层if嵌套模拟了设备的校验逻辑,刚好对应我们实操前的检查思维。
#include <stdio.h>
// 模拟VLAN网段合法性校验
int main()
{
int vlan_id;
int network_segment;
printf("请输入需要校验的VLAN-ID(1-4094):");
scanf("%d", &vlan_id);
printf("请输入对应网段编号(1-255):");
scanf("%d", &network_segment);
// 多层条件嵌套模拟设备校验规则
if (vlan_id >= 1 && vlan_id <= 4094)
{
if (network_segment >= 1 && network_segment <= 255)
{
printf("✅ 校验通过:VLAN-%d 网段配置合法,可进行通信配置\n", vlan_id);
if (vlan_id >= 10 && vlan_id <= 100)
{
printf("💡 该VLAN为常用业务网段,适合做跨VLAN互通测试\n");
}
else
{
printf("💡 该VLAN为备用网段,可按需开启通信权限\n");
}
}
else
{
printf("❌ 校验失败:网段编号超出合法范围!\n");
}
}
else
{
printf("❌ 校验失败:VLAN-ID不合法,超出1-4094有效区间!\n");
}
return 0;
}
2. 数组+循环——批量校验多组VLAN配置
实际组网中一台交换机肯定不止一个VLAN,这个代码模拟批量导入、批量校验的场景,很贴合真实实操感受。
#include <stdio.h>
int main()
{
// 模拟常用业务VLAN组
int vlan_list[5] = {10, 20, 30, 40, 50};
int i;
int valid_num = 0;
printf("===== 批量VLAN信息校验 =====\n");
for (i = 0; i < 5; i++)
{
if (vlan_list[i] >= 1 && vlan_list[i] <= 4094)
{
printf("第%d组:VLAN-%d 配置合法,可参与跨VLAN通信\n", i + 1, vlan_list[i]);
valid_num++;
}
else
{
printf("第%d组:VLAN-%d 配置非法,无法启用通信功能\n", i + 1, vlan_list[i]);
}
}
printf("\n✅ 有效VLAN数量:%d/5\n", valid_num);
printf("💡 可基于合法VLAN配置三层网关实现互通\n");
return 0;
}
3. 综合小案例——自学进度统计打卡工具
自己写的一个小工具,结合循环、判断、累加,平时可以用来简单记录自己VLAN实操和代码练习情况,边敲代码边复盘学习状态。
#include <stdio.h>
int main()
{
int study_days;
int vlan_config, c_code_practice;
int total_score = 0;
int i;
printf("===== 自学打卡统计 =====\n");
printf("请输入连续学习天数:");
scanf("%d", &study_days);
for (i = 1; i <= study_days; i++)
{
printf("\n【第%d天】\n", i);
printf("今日VLAN实操掌握度(0-100):");
scanf("%d", &vlan_config);
printf("今日C语言练习掌握度(0-100):");
scanf("%d", &c_code_practice);
total_score += (vlan_config + c_code_practice);
if (vlan_config >= 80 && c_code_practice >= 80)
{
printf("✅ 今天状态不错,知识点同步夯实!\n");
}
else
{
printf("⚠️ 部分知识点不熟,明天重点复盘\n");
}
}
printf("\n===== 阶段性小结 =====\n");
printf("连续学习%d天,累计综合得分:%d\n", study_days, total_score);
if (total_score >= 100 * study_days)
{
printf("🎉 进度稳定,VLAN互通知识点掌握良好\n");
}
else
{
printf("📝 稳步进步,后续多刷实操、多练代码逻辑\n");
}
return 0;
}
四、ICT学习复盘:终于啃下「不同VLAN间通信」
这阵子在eNSP上反复敲配置、测拓扑,终于把VLAN互通这块啃下来了,简单和大家聊聊我的学习过程和踩坑感受,都是自学的真实体验。
1. 前期基础铺垫
最开始先熟练搞定了基础操作:创建VLAN、Access接口接终端、Trunk接口放通VLAN、二层隔离配置。熟练之后才开始进阶互通内容,个人感觉基础一定要敲熟,再学互通会轻松很多。
2. 现阶段掌握的两种互通方式
之前一直疑惑“不同VLAN为什么不能互通”,学完之后彻底通透了:二层交换机不同VLAN是隔离的广播域,想要互通,必须靠三层设备做网关转发。
目前我主要掌握了两种主流方式:
-
单臂路由:用路由器子接口封装VLAN、对应配置网关,适合小型拓扑,配置简单但带宽有限
-
三层交换机VLANIF:企业最常用的方式,直接虚拟VLAN接口当网关,转发效率更高
3. 自学真实感悟
最大的感受就是:只看视频真的学不会,一定要自己敲、自己错、自己排障。
我刚开始配的时候,经常出现网关不配、Trunk没放通、网段不对导致不通的问题。反复排错之后才真正理解:VLAN的核心就是「隔离保安全,三层通业务」。也终于明白为什么老师一直强调逻辑思维,网络配置和C语言的判断逻辑真的高度相似。
写在最后
重新更新这个账号,不是为了流量,只是想给自己的自学留痕,同时认识一群同样学通信、备考ICT的小伙伴。大家都是普通学生,一起慢慢学、互相交流、一起进步就好。
如果你们想看VLAN完整实操教程、eNSP拓扑搭建、更多网络代码案例,或者有哪里学不懂的,都可以评论区留言,我们一起讨论、一起攻克!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)