微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > KEIL中结构体问题

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 中试了下,这样可以使用。

  1. #include <stdio.h>


  2. typedef struct

  3. {
  4.         int len;
  5.         char  *data;

  6. } SM_BUFF;



  7. void main(void)
  8. {
  9.         SM_BUFF *ab, cd;
  10.         ab = &cd;
  11.     cd.len = 80;
  12.     cd.data = "AGAGJ;DF\n";

  13.         printf("%s", ab->data);
  14. }

复制代码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top