總結typedef用法

2021-07-22 10:58:37 字數 1355 閱讀 3787

經常碰到typedef使用,今天又看到乙個是在標頭檔案裡的。大體如下: }}

(就是很多類似的函式宣告)

int sched_setaffinity(pid_t pid , size_t setsize , const cpu_set_t *set);

comment1:

這是乙個不完整的宣告,告訴編譯器有struct cpu_set_t 這麼乙個型別。

乙個常用的地方是:假如a、b兩個結構互相包含對方的指標:

typedef struct a;

typedef struct b;

struct a

;struct b

;另乙個作用是資訊隱藏

/* type.h */

typedef struct _type type;

void type_*** (type *type);

/* ... */

/* type.c */

#include "type.h"

struct _type;

comment2:

這是定義了乙個型別而已,在以後定義結構體的時候方便了很多,不用再加上struct了

總結:

typedef用來宣告新的型別名來代替已有的型別名

1. typedef  int integer;

typedef float float;

integer a,b; float a,b

2. 可以用來宣告結構體型別

typedef struct

date;

宣告新型別名date,它代表上面指定的乙個結構體型別。這時就可以用date定義變數

date birthday;

date *p;  // p為指向此結構體型別資料的指標

還可以進一步:

num n;                           (定義n為整形陣列變數)

string p,s[10];               (p為指標變數,s為指標陣列)

pointer p1,p2;             (p1、p2為pointer型別的指標變數)

故typedef就是用如同定義變數的方法來宣告乙個型別

note:

typedef 與#define有相似之處:

typedef int count;

和 #define count int

作用都是用count代表int。而#define是在預編譯時處理的,它只能作簡單的字串替換,而typedef是在編譯時處理的,作用是宣告乙個型別

typedef用法總結

typedef,為現有資料型別建立乙個新的名字。typedef使用最多的就是建立易於記憶的型別名。型別出現在所宣告的變數名字中。例如typedef int size 此處宣告定義了乙個int的同義字,名字為size。主義typedef並不是建立新的型別。它僅僅是為現有型別新增乙個同義字,你可以在任何...

Typedef 用法總結

不管實在c還是c 中,typedef這個詞都不少見,當然出現頻率較高的還是在c 中。typedef與 define有些相似,但更多的是不同,特別是在一些複雜的用法上,就完全不同了,看了網上一些c c 的學習者的部落格,其中有一篇關於typedef的總結還是很不錯,由於總結的很好,我就不加修改的引用過...

typedef用法總結

define 是簡單的字串替換,相比 define,typedef可以用來定義乙個新型別,在c程式中比較常見。下面總結一下typedef的常用方法。1 定義一種型別,方便多多平台使用。如平台一 typedef long double real 平台一 typedef double real 平台一 ...