Chinaunix首页 | 论坛 | 博客
  • 博客访问: 370465
  • 博文数量: 94
  • 博客积分: 3421
  • 博客等级: 中校
  • 技术积分: 919
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-18 16:27
文章分类

全部博文(94)

文章存档

2015年(8)

2013年(6)

2012年(26)

2011年(8)

2010年(26)

2009年(20)

我的朋友

分类: C/C++

2010-07-08 10:05:35

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 结构名
{
类型 变量名;
类型 变量名;
} 结构别名;

阅读(1232) | 评论(0) | 转发(1) |
0

上一篇:汽车标识

下一篇:原子操作

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