很多小伙伴知道 typedef int a;的作用相当于将int 换名为a;
也知道typedef struct node{xxx}b;的意思是将这个结构体命名为b;但是对于这样的代码

typedef struct Node
{int value1;int value2;
}*p,a;

确不知道这两个表示的什么。首先我们先明确一个typedef最基本的定义

typedef int a,b;

上述语句是将a和b同时作为int的名字替换。也就是说我们既可以用a代表int也可以用b代表int。
 再看看我们以前对于指针的定义:

int* a,b;

这个语句的意思大家知道吧?是定义一个int*型变量a,定义一个int型变量b;仔细思考一下为什么b定义的是个int类型呢,是因为这个语句也可以等价于如下的语句:

int* a;
int b;

也就是说*号是与a作结合的,b不在这个星号的作用域之内。好了,明确了这两点,我们再回过头来看看最开始的问题

typedef struct Node
{int value1;int value2;
}*p,a;

这个代码是什么意思呢?中间的{}我们先把他遮住,再把这个代码拆开,也就变成了这样

typedef struct Node *p;
typedef struct Node a;

也就是说我们将 struct Node*这个结构体指针类型换名为p,将struct Node 这个结构体换名为a;
这时候我们就可以进行如下操作了:

p sp;//sp是个结构体指针类型
a s;//s是个结构体类型
sp->value1 = 3;//结构体指针使用间接引用
s.value1 = 2;//结构体使用直接饮用

这下大家明白了吧?顺便提醒一下直接执行sp->value1 = 3;这个操作程序会出现错误,因为你并没有给指针分配空间对吧?如果这个不了解的话可以看看这个博客:
指针能不能不分配空间直接使用?

如果觉得有帮助,点个赞和关注谢谢~如果有这个问题相关的疑问,欢迎在下面留言,我看到后会及时解答并补充博客~

【C语言】typedef struct node{}a,*b;到底是什么意思?相关推荐

  1. c语言typedef struct

    结构 typedef struct aaa{struct aaa* p;}bbb;typedef struct {...}bbb; 两者没有什么区别都是定义bbb为结构别名,第二种定义的时候短一点,更 ...

  2. C语言typedef struct详解

    在C中定义一个结构体要用typedef,如: typedef struct Student {int a; }Stu; 于是在声明变量的时候就可以:Stu stu1;(如果没有typedef就必须用s ...

  3. C语言 typedef struct指针小结

    typedef用逗号隔开.表示这个类型有多个别名. 输出: 假设要再结构体中新加一个成员.为指向自己的指针.如下: 编译时会报错.说不存在pT这个类型 原因就像是一个顺序的问题.在typedef里面用 ...

  4. C语言结构体typedef struct详解

    1.typedef关键字 C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字.下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BY ...

  5. 【C语言】结构体定义 typedef struct 用法详解和用法小结

    结构体定义 typedef struct 用法详解和用法小结 文章目录 结构体定义 typedef struct 用法详解和用法小结 0. 前言 1. 首先:在C中定义一个结构体类型要用typedef ...

  6. 关于数据结构(c语言)中结构体声明的typedef struct LNode, *LinkList的思考

    在数据结构的链表,表示中 typedef struct Node * PtrToNode 和 typerdef struct List的表示说明 typedef struct Node * PtrTo ...

  7. 三言两语搞懂c语言之struct与typedef(小白必看)

    一.Struct 1.1 struct含义 1.2 struct用法1 1.3 struct用法2 1.4 struct用法3 二.typedef 三.Struct与typedef 一.Struct ...

  8. c语言typedef(c语言typedef和define)

    什么是C语言 C語言是1972年左右由DennisRitchie一??人在?????室(?稱AT&T)設?開發出?淼碾?腦程式語言.他??r與KenThompson?扇斯餐??UNIX作?I ...

  9. C语言typedef小结1(转载自百度百科)

    声明:此信息是转载自百度百科中  http://baike.baidu.com/view/1283800.htm 的信息 typedef小结 1.使用typedef为现有类型创建同义字,定义易于记忆的 ...

最新文章

  1. java bean join_spring data jpa 关联join查询出自定义实体java bean的坑
  2. java连接Redis数据库
  3. html嵌入war_WAR文件与具有嵌入式服务器的Java应用程序
  4. stringreader_Java StringReader skip()方法与示例
  5. Blink, 通向哈里·波特的魔法世界
  6. 那些年删过的库,跑过的路,你从中找到解决方法了吗?
  7. 【引用】将整数转化为十进制字符串的函数Convert integer to Decimal string
  8. linux gpio信号量,执行完? OSIntExit(); 后,再进行任务调度,可是那两个任务都是在等待信号量啊,难道执行完中断函数后会释放一个信号量吗?...
  9. windowskb2685811补丁_Win7/8.1 KB2685811、KB2685813和KB2670838蓝屏补丁下载汇总 (32位+64位)...
  10. 使用LP Wizard制作allegro PCB封装的步骤
  11. C语言如何打开shx文件,shx文件怎么打开 .shx格式打开方式解答
  12. PNP三极管作为开关管如何使用(集电极接 负载)
  13. excel worksheet
  14. 小米MIUI12开发版内测-答题
  15. 前端页面开发浅谈:PC 端设计如何“完美”迁移到移动端?
  16. 中国人民公安大学 网络对抗技术 15网安六区 杨益 201521460031
  17. 在网盘上传大文件,一个G的文件有可能几秒中就上传完了。称为极速秒传,请问它是怎么做到的?
  18. 律所CRM软件,适用于律师事务所的系统
  19. 合作还是背叛(博弈论的诡计)
  20. “雨雪天气”驾驶经验:

热门文章

  1. python数据导入mysql
  2. 翻硬币—两种方法 dfs 贪心
  3. ERP实施-生产模块-无物料号订单
  4. SmartX明明白白一颗超融合的心
  5. uniapp 设置 favicon.ico
  6. HTML颜色以及颜色名知识点
  7. MiniGUI开发指南
  8. 你想知道的光纤、铜缆测试方案,都在这里!
  9. 勾股定理一日一证连载107
  10. 微信PC扫码支付保证订单状态最终一致性