typedef用法

流水江湖發表於2024-04-20

在C語言中,typedef 是一個關鍵字,用於為已有的資料型別建立一個新的名稱。它可以簡化程式碼,提高可讀性,並使程式碼更具可維護性。typedef 的用法如下:

1、為基本資料型別建立別名:
typedef 可以為基本資料型別(如 int、float、char 等)建立別名,使其在程式碼中使用起來更加直觀。

typedef int myInt;
typedef float myFloat;
typedef char myChar;

在上述示例中,我們為 int 型別建立了別名 myInt,為 float 型別建立了別名 myFloat,為 char 型別建立了別名 myChar。

2、為結構體建立別名:
typedef 還可以為結構體建立別名,使結構體型別更易於使用。

typedef struct {
    int x;
    int y;
} Point;

在上述示例中,我們為一個匿名的結構體建立了別名 Point,該結構體包含了兩個整型成員變數 x 和 y。

3、為指標型別建立別名:
typedef 還可以為指標型別建立別名,使指標型別的宣告更加簡潔明瞭。

typedef int* IntPtr;
typedef float* FloatPtr;

在上述示例中,我們為 int* 型別建立了別名 IntPtr,為 float* 型別建立了別名 FloatPtr。

4、為函式指標建立別名:
typedef 還可以為函式指標型別建立別名,使函式指標型別的宣告更加簡潔明瞭。

typedef int (*MathFunc)(int, int);

在上述示例中,我們為接受兩個 int 型別引數並返回 int 型別結果的函式指標建立了別名 MathFunc。

使用 typedef 建立別名後,我們可以直接使用別名來宣告變數,而無需再寫出完整的資料型別。

下面是一個完整的示例程式碼,演示了 typedef 的用法:

#include <stdio.h>
 
// 為基本資料型別建立別名
typedef int myInt;
typedef float myFloat;
typedef char myChar;
 
// 為結構體建立別名
typedef struct {
    int x;
    int y;
} Point;
 
// 為指標型別建立別名
typedef int* IntPtr;
typedef float* FloatPtr;
 
// 為函式指標建立別名
typedef int (*MathFunc)(int, int);
 
// 定義一個函式,接受兩個 int 型別引數並返回它們的和
int sum(int a, int b) {
    return a + b;
}
 
int main() {
    // 使用別名宣告變數
    myInt num = 10;
    myFloat pi = 3.14;
    myChar letter = 'A';
 
    Point p;
    p.x = 5;
    p.y = 3;
 
    IntPtr pInt;
    FloatPtr pFloat;
 
    MathFunc add = sum;
    int result = add(2, 3);
 
    // 輸出變數的值
    printf("num = %d\n", num);
    printf("pi = %.2f\n", pi);
    printf("letter = %c\n", letter);
    printf("p.x = %d, p.y = %d\n", p.x, p.y);
    printf("result = %d\n", result);
 
    return 0;
}

輸出結果:

num = 10
pi = 3.14
letter = A
p.x = 5, p.y = 3
result = 5

根據輸出結果可知,我們使用 typedef 建立的別名來宣告變數,使程式碼更加簡潔易讀。https://blog.csdn.net/m0_74293254/article/details/134054841

相關文章