目錄
零基礎 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;
}
/*
輸出:
我名字是胡歌....
我名字是劉亦菲....
*/
關於函數指針詳細介紹請參考:函數指針;
三.猜你喜歡
- C 語言邏輯運算符
- C 語言三目運算符
- C 語言逗號表達式
- C 語言 sizeof 和 strlen 函數區別
- C 語言 strcpy 和 strcpy_s 函數區別
- C 語言 memcpy 和 memcpy_s 區別
- C 語言 數組定義和使用
- C 語言 數組遍歷
- C 語言 數組下標越界
- C 語言 數組內存溢出
- C 語言 數組下標越界和內存溢出區別
- C 語言 二維數組定義和使用
- C 語言 二維數組行數和列數計算
- C 語言 指針聲明和定義
- C 語言 指針 p++ / p–
- C 語言 p++/§++/_(p++)/_p++
- C 語言 使用指針遍歷數組
- C 語言 指針和數組區別
- C 語言 數組指針
- C 語言 指針數組
- C 語言 指針數組和數組指針區別
- C 語言 空指針 NULL
- C 語言 void 指針
- C 語言 野指針
- C 語言 函數值傳遞和址傳遞
- C 語言 函數缺省參數
- C 語言 函數不定長參數
- C 語言 函數指針
- C 語言 指針函數
- C 語言 回調函數 callback
- C 語言 typedef
未經允許不得轉載:猿說編程 » C 語言 typedef
本文由博客 - 猿說編程 猿說編程 發布!