<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C語言typedef用法

      良好的代碼習慣高效的類型定義在項目中扮演著至關重要的角色。typedef,它不僅是一個語法糖,更是提升代碼質量和可維護性的利器。在這篇文章中,將為你介紹typedef 4 種應用方式。

      應用一、為基本數據類型定義新的類型名

      uint32_t替代unsigned int聲明變量

      /* 變量名重定義 */
      typedef unsigned int uint32_t;
      
      /* 定義一個`unsigned int`類型的變量 */
      uint32_t count = 0;
      

      應用二、為自定義數據類型(結構體、共用體和枚舉類型)定義簡潔的類型名稱

      使用結構體定義以及聲明結構體變量:

      struct TagPoint
      {
          double x;
          double y;
          double z;
      };/* 定義一個三維坐標結構體 */
      
      /* 聲明一個三維坐標點 */
      struct TagPoint point = {0, 0, 0};
      

      使用typedef代替結構體定義以及聲明結構體變量:

      typedef struct
      {
          double x;
          double y;
          double z;
      } TagPoint;/* 定義一個三維坐標結構體 */
      
      /* 聲明一個三維坐標點 */
      TagPoint point = {0, 0, 0};
      

      應用三、定義數組類型

      定義多個同緯度的數組:

      int v[3];
      int i[3];
      

      使用typedef重定義:

      /* 定義數組類型 */
      typedef int arry_int_3[3];
      
      /* 等價于 int v[3] */
      arry_int_3 v;
      

      應用四、定義指針類型

      1、定義數組指針類型
      /* 普通數組指針 */
      int (*arr_p)[5];//定義了一個數組指針變量arr_p,arr_p可以指向一個int a[5]的一維數組
      
      /* 使用typedef */
      typedef int(*Arr_P)[5];//定義一個指針類型,該類型的指針可以指向含5個int元素的一維數組
      
      int a[5] = {1,2,3,4,5};
      Arr_P p;//定義數組指針變量p
      p= &a;//完全合法,無警告    
      p= (Arr_P)&a;//類型強制轉換為Arr_P,完全合法,無警告
      
      2、定義函數指針類型

      有一個函數原型如下:

      /* 函數原型 */
      int32_t write_adc_reg(uint32_t reg_addr, uint32_t data, uint32_t chip_id);
      int32_t write_spi_reg(uint32_t reg_addr, uint32_t data, uint32_t chip_id);
      

      普通定義一個函數指針指向這個函數:

      /* 普通函數指針定義和使用 */
      int32_t (*write_adc_reg_p)(uint32_t, uint32_t, uint32_t);
      int32_t (*write_spi_reg_p)(uint32_t, uint32_t, uint32_t);
      
      /* 選擇不同的寫入接口 */
      write_adc_reg_p = write_adc_reg;
      write_spi_reg_p = write_spi_reg;
      /* 調用 */
      int32_t result = write_reg_p(0x10, 0x55, 0);
      

      使用typedef:

      /* 定義函數指針類型 */
      typedef int32_t (*WriteReg_P)(uint32_t, uint32_t, uint32_t);
      /* 聲明兩個函數指針變量 */
      WriteReg_P write_adc_reg_p = write_adc_reg;
      WriteReg_P write_spi_reg_p = write_spi_reg;
      /* 調用 */
      int32_t adc_val = write_adc_reg_p(0x10, 0x55, 0);
      

      五、總結

      typedef 是 C 語言中非常實用的工具,它不僅能提升代碼的可讀性,還便于后續維護和擴展。在嵌入式開發中,通過合理使用 typedef,我們可以簡化結構體、指針、函數指針等復雜類型的聲明,讓代碼更清晰、表達更簡潔。

      posted @ 2025-10-29 20:57  比特向陽  閱讀(20)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品免费重口又黄又粗| 亚洲AV国产福利精品在现观看| 亚洲乱码中文字幕小综合| 丰满少妇高潮无套内谢| 综合色在线| 看亚洲黄色不在线网占| 综合久青草视频在线观看| 2022亚洲男人天堂| 国产免费高清69式视频在线观看 | 色一伦一情一区二区三区| 国产AV影片麻豆精品传媒| 精品国产这么小也不放过| 日日爽日日操| 国产亚洲欧美另类一区二区| 久久综合亚洲色一区二区三区| 手机看片福利一区二区三区 | 国产白袜脚足j棉袜在线观看| 狠狠色噜噜狠狠狠狠777米奇| 丰满人妻无码∧v区视频| 狠狠色狠狠综合久久| 无人区码一码二码三码区| 精品人妻免费看一区二区三区| 在线免费播放av观看| 五十路丰满中年熟女中出| 水蜜桃精品综合视频在线| 一区二区三区不卡国产| 四虎国产精品免费久久久| 99热久久这里只有精品| 又大又粗欧美成人网站| 国产成人一区二区三区视频免费| 狠狠做五月深爱婷婷伊人| 湖南省| 国产精品自产在线观看一| 亚洲国产成人综合自在线| 亚洲精品久久久久久久久久吃药| 风韵丰满妇啪啪区老老熟女杏吧| 久久国产一区二区日韩av| 成人午夜激情在线观看| 国产精品亚洲а∨天堂2021| 一个色综合亚洲热色综合| 干中文字幕|