C語言 typedef - C語言零基礎入門教程


目錄

零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門

一.typedef 簡介

C 語言 typedef 是為現有的類型起一個別名,使使用起來更加的方便,注意:它並沒有產生新的類型;

舉個例子:假如你得名字叫胡歌,利用 typedef 給你取一個別名叫老胡,那么胡歌是你,老胡也是你,兩者都一樣,示例代碼如下:

typedef 胡歌 老胡;//注意typedef末尾有分號結束

以上代碼得意思就是:為胡歌取一個別名叫老胡,老胡和胡歌其實就是同一個人;

二.typedef 實戰

1.typedef 定義基本數據變量

C 語言中,防止由於各種平台和編譯器的不同,而產生的類型字節數差異,方便移植,其實經常用到 typedef ,例如:

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 typedef
//@Time:2021/06/25 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/


typedef  unsigned char      boolean;     /* Boolean value type. */
typedef  unsigned long int  uint32;      /* Unsigned 32 bit value */
typedef  unsigned short     uint16;      /* Unsigned 16 bit value */
typedef  unsigned char      uint8;       /* Unsigned 8  bit value */
typedef  signed long int    int32;       /* Signed 32 bit value */
typedef  signed short       int16;       /* Signed 16 bit value */
typedef  signed char        int8;        /* Signed 8  bit value */

然后我們可以自己測試以下:

typedef int myInt; //為int數據類型取一個別名

//以下兩句代碼是一樣的
int value = 5;      //定義一個整型變量value ,並將它賦值為5
myInt value = 5;    //定義一個整型變量value ,並將它賦值為5

2.typedef 定義結構體

A.常規定義結構體

struct student{
    char cName[20]; //姓名
    int iNumber;    //電話號碼
    struct student *next;//指向下一個節點
};
struct student *head; //定義結構體變量

B.typedef 定義結構體

typedef struct student{
    char cName[20]; //姓名
    int iNumber;    //電話號碼
    struct student *next;//指向下一個節點
}*LinkList;

//LinkList* 等價 struct student
LinkList head; //定義結構體變量

C.結構體使用 typedef 和不使用 typedef 區別

不用 typedef,定義變量時需要加上 struct,比較麻煩;

struct student *head; //定義結構體變量

使用 typedef,定義變量時不需要加上 struct,比較簡單;

LinkList head; //定義結構體變量

3.typedef 定義函數指針

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 typedef
//@Time:2021/06/25 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!
/******************************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string>

typedef  int (*callBackFunc)(char* name);

int callback(char* name)
{
    printf("我名字是%s....\n",name);
    return 1;
}
int main()
{
   callBackFunc ff = callback;
    ff((char*)"胡歌");
    ff((char*)"劉亦菲");
   return 0;
}
/*
輸出:
我名字是胡歌....
我名字是劉亦菲....
*/

關於函數指針詳細介紹請參考:函數指針

三.猜你喜歡

  1. C 語言邏輯運算符
  2. C 語言三目運算符
  3. C 語言逗號表達式
  4. C 語言 sizeof 和 strlen 函數區別
  5. C 語言 strcpy 和 strcpy_s 函數區別
  6. C 語言 memcpy 和 memcpy_s 區別
  7. C 語言 數組定義和使用
  8. C 語言 數組遍歷
  9. C 語言 數組下標越界
  10. C 語言 數組內存溢出
  11. C 語言 數組下標越界和內存溢出區別
  12. C 語言 二維數組定義和使用
  13. C 語言 二維數組行數和列數計算
  14. C 語言 指針聲明和定義
  15. C 語言 指針 p++ / p–
  16. C 語言 p++/§++/_(p++)/_p++
  17. C 語言 使用指針遍歷數組
  18. C 語言 指針和數組區別
  19. C 語言 數組指針
  20. C 語言 指針數組
  21. C 語言 指針數組和數組指針區別
  22. C 語言 空指針 NULL
  23. C 語言 void 指針
  24. C 語言 野指針
  25. C 語言 函數值傳遞和址傳遞
  26. C 語言 函數缺省參數
  27. C 語言 函數不定長參數
  28. C 語言 函數指針
  29. C 語言 指針函數
  30. C 語言 回調函數 callback
  31. C 語言 typedef

未經允許不得轉載:猿說編程 » C 語言 typedef

本文由博客 - 猿說編程 猿說編程 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM