typedef 别名的定义和使用

第一种方式:

定义一个结构,名称为term

struct  term

{

 float  coef;  //系数

 int   expn;  //指数

};

下面定义它的两个别名:

typedef  struct  term  term, ElemType;

以后,就可以用 term 或是 ElemType 来代替 struct  term 了。

第二种方式:

还有一种更简洁的定义方式,就是定义结构的同时定义别名:

struct  term

{

 float  coef;  //系数

 int   expn;  //指数

} term,  ElemType;

注意到,这里,结构的名称是struct  term,它的别名也是term,这是可以的。

第三种方式:

还可以再简化一下,这种定义方式称为匿名结构,就是没有给结构体本身起名字。

struct 

{

  float  coef;  //系数

  int   expn;  //指数

} term,  ElemType;

这里省略了结构的名字,直接写出别名。

范例程序如下:

#include <stdio.h>
#include <stdlib.h> 

//使用第三种定义方式
typedef  struct 
 {
   float coef; /* 系数 */
   int   expn; /* 指数 */
 }term,ElemType; 
 

main()  
{
 term  t1;
 t1.coef=1.5;
 t1.expn=2;	
	
 printf("结构型及其别名\n");	
 printf("coef=%f  expn=%d\n",t1.coef, t1.expn);
}

第四种方式:

定义指向结构的指针的别名:

//定义数据项

typedef  struct

 {

   float  coef; /* 系数 */

   int   expn; /* 指数 */

 }term,ElemType;

//定义链表结点的结构类型:

typedef  struct  LNode

{

 ElemType  data;       //定义结点数据

 struct  LNode *next;  //定义指向下一个结点的指针

}LNode, *Link;

这里,定义了一个链表的结点LNode,它包括一个数据项和一个指针项。

同时定义了这个结点的别名为LNode,代替struct  LNode

还定义了指向这个结点的指针,别名为 Link 用来代替 struct LNode *

指向结点的指针的使用,示例程序:
#include <stdio.h>
#include <stdlib.h>

typedef struct
{
 float  coef;
 int    expn;
}term, ElemType; 


typedef struct LNode
{
ElemType     data;  //结点数据
struct LNode  *next;  //指向结点的指针
}LNode, *Link;

main()
{
 LNode     n1;  //定义一个链表结点
 Link      p1;  //定义指向链表的指针

//对结点的数据域赋值
n1.data.coef = 1.5;
n1.data.expn = 2;

//对结点的指针域赋值
n1.next = NULL;

//使指针p指向这一结点 
p1=&n1;


//打印结点数据
printf("系数项:%f  指数项:%d\n",(*p1).data.coef , (*p1).data.expn );

}

相关推荐

  1. typedef 别名定义使用

    2024-03-10 18:04:05       27 阅读
  2. define与typedef区别使用

    2024-03-10 18:04:05       7 阅读
  3. C++ typedef使用

    2024-03-10 18:04:05       15 阅读
  4. 使用alias定义命令别名

    2024-03-10 18:04:05       16 阅读
  5. typedef define 区别联系

    2024-03-10 18:04:05       7 阅读
  6. C++ 中 typedef using

    2024-03-10 18:04:05       31 阅读
  7. C++中using typedef 区别

    2024-03-10 18:04:05       18 阅读
  8. 【随手笔记】一个关于typedef定义数组调用问题

    2024-03-10 18:04:05       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 18:04:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 18:04:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 18:04:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 18:04:05       20 阅读

热门阅读

  1. springboot 下载 Excel 文件的 Controller 层案例

    2024-03-10 18:04:05       21 阅读
  2. AI辅助研发,引领科技新潮流

    2024-03-10 18:04:05       27 阅读
  3. C++核心编程

    2024-03-10 18:04:05       19 阅读
  4. 力扣背包问题

    2024-03-10 18:04:05       24 阅读
  5. 【微软技术】介绍

    2024-03-10 18:04:05       24 阅读
  6. 面试题之——SpringBoot的好处?

    2024-03-10 18:04:05       24 阅读
  7. django 的 filter 使用技巧

    2024-03-10 18:04:05       22 阅读