回答:typedef是类型修饰符,在声明中出现的位置与static等的位置一样…… 也就是说,在一个声明语句中typedef只能出现一次(与const不同),修饰的是整个类型名(如typedef int A;中的int,typedef int (*A)(void);中的int (*)(void)),表示这个语句中声明的标识符(如这里的A)不是通常(不加typedef的...
int *a,b;//b是int不是指针
int (*A[10])(); 指向函数 返回值为int 形参无 在看(*A[10]) [ ] 优先级高所以A为一个数组...
[例3] typedef int* Func(int);// 声明一个函数类型 [例4] typedef int (*PFunc)(int);// 声明一个函数指针类型 [例5] typedef int A[5]; [例6] typedef int (*A)[5]; (注意与typedef int* A[5]; 区分) [例7] typedef struct _Foo_t Foo_t; [例8] typedef struct { ... // } ...
两者的区别如例:define A int * tepedef int * A;(这是一条语句,要加分号)两者的作用都是将A代表int *,但是#define在预处理时进行简单的替换,而typedef不是简单替换。typedef定义的A相当于定义了一个指针指向了int *。而#define定义的A只是进行了替换。
typedef在C中是定义数据类型别名的,例如typedef int a;则a是与int 具有相同功能的别名,相当于我们说的给一个人起绰号,其实他们是同一个人,这里也一样,这样一个定义之后,a就与int是一回事了 typedef char * a,* b;这里也一个意思啊,这句话就是定义了char*型的别名a与b,那么a与b就有...
typedef unsigned int *PUINT;typedef unsigned int *LPUINT;这3条类型定义(LS概念错误,类型定义与声明一样,不是语句)。typedef基本语法为typedef A B;,表示定义类型A的别名为类型B。这里在定义了这些类型之后,UINT类型等价于unsigned int类型,PUINT类型等价于unsigned int*类型,LPUINT类型等价于...
1. 基本数据类型定义 例如:typedef unsigned char uchar 描述:uchar等价于unsigned char类型定义,uchar c声明等于unsigned char c声明。2. 数组类型定义 例如:typedef int array[2];描述:array等价于int[2]定义,array a声明等价于int a[2]声明。扩展:typedef int array[M][N];描述:array等价...
typedef int * PMYINT; MYINT a,b; 123123 1. 2. 3. 相当于 int* a,int* b,两个变量的数据类型都是int * #define PMYINT int *PMYINT a,b;123123 1. * 宏定义是直接替换,在这就是用 int替换掉PMYINT 相当于inta,b;a是int类型,b是int类型。** ...
其中本题中int * 用T来代替,所以定义T a[ 10 ];就相当于是int * a[10];选项B正确。