您的位置:首页 > 编程语言 > C语言/C++

C语言学习入门 (九) typedef 关键字

2015-01-08 17:27 471 查看
关键字:typedef

用法:为各种数据类型定义一个新名字(别名)

typedef与基本数据类型

typedef int Integer;Integer
a= 8;

也可以在别名的基础上再起一个别名

typedef Integer MyInteger;MyInteger a = 8;

原来的数据类型也可以正常使用

typedef与指针

typedef char *String;String
str = “jackie”;

typedef与结构体

typedefstructPerson Per;// 这样在定义结构体变量时
就不用带上struct 关键字了

Per p; p.name = “xyz”;

定义并取别名:

typedefstruct Student// 结构体名 Student 可以省略

{

int age;

} Stu;

void processStudent()

{

Stu student = {18};

student.age =19;

}

typedef与指向结构体的指针

typedef struct

{

int age;

} Stu;

Stu stu = {20};

typedef Stu *S;//指向结构体的指针 取别名 S

S s = &stu;

typedef struct LNode

{

int data;

struct LNode *next;

} LinkList, *SList;

int main(int argc, const char * argv[])

{

LinkList l = {1, NULL};

LinkList ll = {2, NULL};

l.next = ≪

printf("%d, ", l.next->data);

SList sl = ≪

if (sl->next != NULL)

printf("%d, ", sl->data);

return 0;

}

typedef与枚举类型

typedef enum

{



} Season;

//用法与结构体类似

typedef与指向函数的指针

int sum(int a, int b)

{

return a + b;

}

void main()

{

typedef int (*P)(int a, int b);

P p = sum;

int result = (*p)(3, 5);

return 0;



typedef与#define

typedef char *String;

String s = “abc”

#define String char *;

String s = “abc”; //这样使用效果一样

当 这样使用:

String s1,s2; //用第一种替换: char *s1, char *s2;

String s3,s4; //用第二种替换: char * s3, s4; <==> char *s3, char s4;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: