1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3595|回復: 5
收起左側

關于51單片機程序使用結構體指針和for循環的疑問

[復制鏈接]
ID:636538 發表于 2020-8-4 15:36 | 顯示全部樓層 |閱讀模式
我現在還太淺薄,最近在某站上看一個師傅講的STC15視頻,代碼使用了很多結構體、枚舉、結構體指針,搞得我感覺一個很簡單的點亮小燈程序,都變的高大上啦,有沒有大佬,講一下,為什么這樣寫好,我看寫的代碼量反而增加啦?
回復

使用道具 舉報

ID:636538 發表于 2020-8-4 16:34 | 顯示全部樓層
自己頂一下,別沉下去
回復

使用道具 舉報

ID:313246 發表于 2020-8-4 16:45 | 顯示全部樓層
結構體、枚舉、指針都是最基本的,不是什么高大上,你多見見就好了,沒什么奇怪的
回復

使用道具 舉報

ID:804115 發表于 2020-8-4 18:07 | 顯示全部樓層
結構體可以將同一功能類的變量歸納總結到一起,且地址連續,使用起來更方便,也更好用指針整體操作;
枚舉的變量雖然可以用define定義,但是還是有優勢的,將同一類的值放到一起,更直觀,且規定了變量的范圍,用這之外的值會報錯,可以判斷錯誤。define就是純替代,不能檢測錯誤。
結構體指針就更靈活了,可以完成很多高內聚低耦合的代碼,這個說不太清除,但是代碼看多了,你就會發現它的好處了。一般在51上很少這樣用,因為51資源太匱乏了。
回復

使用道具 舉報

ID:636538 發表于 2020-8-5 11:37 | 顯示全部樓層
1692483014 發表于 2020-8-4 18:07
結構體可以將同一功能類的變量歸納總結到一起,且地址連續,使用起來更方便,也更好用指針整體操作;
枚舉 ...

嗯嗯,謝謝回復,明白啦
回復

使用道具 舉報

ID:636538 發表于 2020-10-13 11:39 | 顯示全部樓層
#include<stdio.h>


int main(void)
{
        //第一種 結構體指針
//  struct ucode
//  {
//          char u1;
//          int u2;
//  };
//  struct ucode a={'a',98};
//  struct ucode *p=&a;
//第二種
//  struct ucode
//  {
//          char u1;
//          int u2;
//  }a={'a',98},*p=&a;
//  struct ucode a={'a',98};
//  struct ucode *p=&a;
//  printf("p->u1=%c,p->u2=%d\n",(*p).u1,(*p).u2);//(*p).u1與 p->u1等價,表達相同的意思
//第三種
  typedef struct
   {
          char u1;
          int u2;
  }ucode;
  ucode  a={'a',98};
  ucode  *p=&a;
  printf("p->u1=%c,p->u2=%d\n",p->u1,p->u2);
       
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表