c - 用 typedef 声明指向结构的指针有什么用?
问题描述
如图所示,我声明了一个指向结构的指针,一个带有 typedef 关键字,另一个没有 typedef 关键字,我正在尝试分配同一个用户定义数组的地址,但我在行出现错误19 号。
当我注释掉第 19 行并构建项目时,第 20 行没有出现错误。
解决方案
typedef struct node *NODE;
介绍type的同义词NODE
。您不能为类型分配值,因此该行 struct node *
NODE = arr;
编译失败。
struct node *NODE2;
引入一个名为NODE2
type的全局变量struct node *
。您可以根据需要分配给此变量,因此该行
NODE2 = arr;
不给出错误。
以上与以下类似:
typedef int Int32;
int Counter;
...
Int32 = 5; // error
Counter = 5; // valid
推荐阅读
- java - 如何让主线程等待执行器服务线程完成
- javascript - 货币文本框的正则表达式
- c# - Unity 2D 直接修改rotation.z 会导致奇怪的“平滑/平滑”旋转停止在180
- mongodb - 通过 docker-compose 使用 volumen 启动 MongoDB 时出错
- php - PHP 随机数生成器,大多数时候想要 0
- postgresql - 如何在或附近调试 postgres 语法错误
- sql - 如何根据登录 sql 求和?金融技术指标
- makefile - Makefile 编译建议
- ruby-on-rails - 使用 docker 容器运行 bundle install 时出现问题
- javascript - 如何在 MVC 中完成 ajax 之前禁用和启用 Jquery 点击功能(使用 Img id)?