KEIL中结构体问题
时间:10-02
整理:3721RD
点击:
#include <reg52.h>
typedef struct
{
int len;
char DATA[300];
} SM_BUFF;
void main()
{
xdata SM_BUFF * ab;
ab->len=80;
&(ab->DATA)="AGAGJ;DF";
}
编译出错MIAN.C(15): error C213: left side of asn-op not an lvalue
不知结构体该怎样使用 求指导
小编找个例子看看吧,uCOSII里有很多结构体的,可以参考。
字符串可以用strcpy拷贝,这不是重点。关键是指针变量没有初始化,典型的野指针。
你那结构体指针根本没有分配,就是调通了也是个野指针
迟早出问题
1、你在结构体中定义 了一个数组,那数组名就是一个常量,你企图修改一个常量的值,错误。
2、main函数中,你只是定义了一个结构体类型的指针,它在内存中空间,和结构体本身根本不一样...结构体指针使用错误
在 vc 中试了下,这样可以使用。
- #include <stdio.h>
- typedef struct
- {
- int len;
- char *data;
- } SM_BUFF;
- void main(void)
- {
- SM_BUFF *ab, cd;
- ab = &cd;
- cd.len = 80;
- cd.data = "AGAGJ;DF\n";
- printf("%s", ab->data);
- }