Chinaunix首页 | 论坛 | 博客
  • 博客访问: 65884
  • 博文数量: 26
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-05 15:21
文章分类
文章存档

2013年(3)

2012年(23)

我的朋友

分类:

2012-04-19 10:34:25

原文地址:typedef的用法 作者:怪怪虎

Typedef 定义一个结构体

Typedef struct student

{

  Int a;

}stu;

1)      在声明变量时可以直接用stu st1; 因为这里的stu相当于struct student的别名。

2)      如果没有typedef,就要用struct student st1;

3)      有时如果别名想和结构体的名字一样,那样是不行的。我们的做法就是在结构体的名字前加上__或者tag_.像下边这样

Typedef struct __student

{

  Int a;

}student;

 

Typedef struct tag_student

{

  Int a;

}student;

 

4)      如何定义一个指向自己的指针. 由于一开始没有找到或者不知道别名的存在,所以不可以用别名,要在用struct 定义下。

Typedef struct __student

{

   Int a;

   Struct __student *next;

}student;

 

struct在代码中常见两种形式:
struct A
{
//...
};   //A是结构体类型

struct
{
//...
} A;   //A是变量

 

typedef struct A

{

……..

}B; //B是一个结构体别名

 

 

typedef struct

{

……..

}B; //B是一个结构体别名

 

 

定义结构变量的一般格式为:

struct 结构名
{
类型 变量名;
类型 变量名;
} 结构变量;

结构名是结构的标识符不是变量名。

另一种常用格式为:
typedef struct 结构名
{
类型 变量名;
类型 变量名;
} 结构别名;

阅读(349) | 评论(0) | 转发(0) |
0

上一篇:#ifndef、#define、#endif

下一篇:c中typedef

给主人留下些什么吧!~~