基本的 typedef 语法
typedef
声明与变量或函数声明具有相同的语法,但它包含单词 typedef
。typedef
的存在导致声明声明一个类型而不是变量或函数。
int T; // T has type int
typedef int T; // T is an alias for int
int A[100]; // A has type "array of 100 ints"
typedef int A[100]; // A is an alias for the type "array of 100 ints"
一旦定义了类型别名,它就可以与该类型的原始名称互换使用。
typedef int A[100];
// S is a struct containing an array of 100 ints
struct S {
A data;
};
typedef
永远不会创造出独特的类型。它只提供了另一种引用现有类型的方法。
struct S {
int f(int);
};
typedef int I;
// ok: defines int S::f(int)
I S::f(I x) { return x; }