十万火急,望大侠支援
小弟是单片机菜鸟,在使用Keil C51的时候遇到一个问题百思不得其解,希望哪位达人遇到过,或者知其原理的能告知其中的奥妙,不胜感激。
目前用的keil版本是“礦ision2 V2.40”,用的仿真器是南京爱思.
我用C51写了个二叉树,目的是生成动态的菜单。但是跟踪程序发现,malloc一块内存(结构体)之后,内存的所有内容都是0xFF,对其赋值也改变不了。
导致程序运行不了。是不是Keil C51的设置那边没有设置对?目前内存都是设置的64K。
附代码:
//结构体==================================
typedef struct MenuNode
{
UCHAR iNodeID;
UCHAR iType;
UCHAR sName[MAX_LCD_LEN];
struct MenuNode *pChild[MAX_CHILDS];
}MenuNode;
if ((pNode = (MenuNode*) malloc(sizeof(MenuNode))) == NULL)
{
printf("内存分配错误!\n");
return NULL;
}
pNode-> sName[0]=0;
pNode-> iNodeID =0;
这边pNode指向的内容均为0xFF,赋了初始值也没有用!
发表时间:2009年4月9日12:25:06