社区
C语言
帖子详情
在51单片机上写贪吃蛇,c51编译器奇怪错误
z642010820
2009-04-16 07:47:54
帮帮忙啊,这个程序小的时候没错,在单片机上也运行过,都正常,当功能一点点增多,突然出现奇怪的错误,编译器不认识我定义的结构体了,我肯定不是语法的问题,估计可能是c51编译器有某些限制造成的,网都查漏了也没解决问题,请帮帮忙,先谢过了,代码已上传
...全文
252
7
打赏
收藏
在51单片机上写贪吃蛇,c51编译器奇怪错误
帮帮忙啊,这个程序小的时候没错,在单片机上也运行过,都正常,当功能一点点增多,突然出现奇怪的错误,编译器不认识我定义的结构体了,我肯定不是语法的问题,估计可能是c51编译器有某些限制造成的,网都查漏了也没解决问题,请帮帮忙,先谢过了,代码已上传
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
z642010820
2009-04-16
打赏
举报
回复
期待。。。。。。
z642010820
2009-04-16
打赏
举报
回复
但这也不能解决问题,当我再增加代码的时候,编译器又有更多的结构体找不到了
z642010820
2009-04-16
打赏
举报
回复
#include "zsnake.h"
#include "zdefine.h"
#ifdef __cplusplus
extern "C"{
#endif
/*struct ZFood{
ZPoint curFood;
ZPoint preFood;
bool isEaten;
}; */
typedef struct __ZFood{
ZPoint curFood;
ZPoint preFood;
bool isEaten;
}ZFood;
void zFood_create( ZFood* food, ZSnake* snake,ZObstacle *obstacle);
#ifdef __cplusplus
}
#endif
#endif // FOOD_H
//===============================================================
//==============================================
/*
描述:描述snake的结构
成员:
body:包含蛇身每一节的坐标队列,蛇头在队尾
speed:蛇的速度,多少毫秒走一步,每过一关都会减50
初始为500ms/步
isAlive:蛇是否活着的标志位
true:活
false:挂
direction:蛇移动的方向
LEFT
RIGHT
UP
DOWN
stage:关(1,2,3,4,5,6,7,8,9,10一共10关)
//===============================================
typedef struct __ZSnake
{
//private
bool isAlive;
bool speedUp;
uchar direction;
uchar stage;
uint speed;
ZQueue body;
ZPoint removed;
}ZSnake;
//=================================================
这是出错的两个结构体,编译在我声明void zFood_create( ZFood* food, ZSnake* snake,ZObstacle *obstacle);的地方说syntax error near '*',也就是认不到我定义的结构了,当我把ZSnake改成void 或struct __ZSnake时,又莫名奇妙的不报错了
Dinelgua
2009-04-16
打赏
举报
回复
真奇怪
z642010820
2009-04-16
打赏
举报
回复
太大了,代码10k,又是奇怪的错误,只看错误是看不出问题的
liliangbao
2009-04-16
打赏
举报
回复
单片机~
帮顶~
猫已经找不回了
2009-04-16
打赏
举报
回复
先贴上来吧,网速不好,下不了.
单片机存储结构详解:从51到STM32的内存布局与扩展实战
在嵌入式开发中,存储结构是决定程序稳定性的基石。从计算机体系结构里的主存概念出发,理解程序存储器(Flash/ROM)与数据存储器(RAM/SRAM)的分工,以及地址空间如何统一编址或独立编址,是掌握MCU开发的关键。程序存储器负责固化代码和常量,数据存储器则承载变量与栈,二者协同才能让系统高效运行。先了解
51单片机
的内部RAM分区、Keil编译后的内存统计,再对比STM32基于Cortex-M内核的4GB统一映射,就能明白Flash、SRAM、外设寄存器的本质关系。当内部资源不足时,还需要通过总线或FSM
C语言零基础入门:100集教程学习路径与环境搭建全攻略
C语言作为理解计算机底层逻辑和培养严谨编程思维的基础,其核心在于掌握程序从源代码到可执行文件的编译原理与内存管理机制。通过学习C语言,开发者能够深入理解指针、内存分配等底层概念,为后续学习数据结构、操作系统及嵌入式开发奠定坚实基础。在工程实践中,搭建稳定高效的开发环境是首要步骤,涉及
编译器
配置、代码调试与常见
错误
排查。本教程针对零基础学习者,提供从环境搭建到项目实战的系统化学习路径,重点解决开发环境配置、代码调试等实际难题,并通过分阶段实战案例帮助学习者快速掌握核心编程技术,实现从理论到应用的自然过渡。
机械设计基于三维建模的零件结构优化:Part4装配件多特征协同设计方法研究
内容概要:本文详细描述了机械零件Part4的设计与建模过程,重点围绕三维建模中的几何构造操作展开。首先基于原零件三视图确定关键尺寸,依次创建多个同心圆柱体结构,包括外层圆柱体(52、52、5)、中间圆柱体(25、25、7)以及中心孔结构(16、16、12)。随后对底部圆柱体进行临时加高处理,以便在顶面草绘中构建辅助图形:以计算得出的半径17.5画圆,并在其接触面上方绘制半径为3的小圆,进而引出两条分别成60°和-60°的斜线,配合一条水平线形成三角形轮廓。接着在其余两角复制相同的小圆结构,清理多余线条后完成草图设计。利用该草图执行“拉伸切除”操作,深度设为16.28mm,实现特征开槽。最后将底部圆柱体恢复原始高度5mm,完成整体结构修改。; 适合人群:具备基础CAD建模能力的机械设计人员或工科类学生;熟悉SolidWorks、AutoCAD等三维设计软件的操作者;从事零部件逆向设计或结构优化的技术人员。; 使用场景及目标:①用于学习复杂零件的分步建模方法,掌握从三视图到三维实体的转换技巧;②理解拉伸、切除、草图约束、包围盒设置等核心建模命令的实际应用;③提升对尺寸链计算、辅助线构建及几何关系控制的理解与实践能力。; 阅读建议:建议结合文中参数逐步在建模软件中复现操作,重点关注草图绘制逻辑与切除特征的关联性,注意各步骤间的顺序依赖关系,避免因尺寸或约束
错误
导致建模失败。
基于格子 Boltzmann 方法的二维通道多孔介质流动模拟:理论、实现与验证(Matlab代码实现)
内容概要:本文系统阐述了基于格子Boltzmann方法(Lattice Boltzmann Method, LBM)对二维通道内多孔介质流动进行数值模拟的理论体系、Matlab代码实现流程及结果验证方法。深入剖析了LBM在处理复杂流体系统尤其是不规则几何结构多孔介质流动中的独特优势,详细介绍了模型构建过程、边界条件设定、碰撞与传播环节的算法实现机制,并通过Matlab编程完成仿真运算,实现了对速度场、压力场等关键物理量的可视化分析与精度验证,确保模拟结果具备良好的准确性与可靠性。; 适合人群:具备流体力学基础知识和一定Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事多孔介质流动、计算流体力学(CFD)或LBM方法研究的相关领域研究人员。; 使用场景及目标:①掌握格子Boltzmann方法的核心原理及其在多孔介质流动模拟中的具体应用;②学习利用Matlab实现LBM算法并开展科学计算与结果可视化的方法;③为相关科研项目、学术论文复现或实际工程仿真提供可复用的代码框架与技术实施路径。; 阅读建议:建议读者结合流体力学与数值计算相关背景知识,逐步理解算法推导过程,动手运行并调试所提供的Matlab代码,通过调整参数或几何模型加深对LBM方法灵活性与适用性的认识,同时鼓励将该方法拓展至三维流动或多物理场耦合问题的研究中。
【顶级EI复现】基于新扩展移相角重构的双有源桥变换器全功率范围最小电流应力优化控制策略研究(Simulink仿真实现)
【顶级EI复现】基于新扩展移相角重构的双有源桥变换器全功率范围最小电流应力优化控制策略研究(Simulink仿真实现)
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章