erJSu 2024-05-13 14:43 采纳率: 80%
浏览 6
已结题

typedef结构体命名问题

typedef的相关使用


```c
1 #include <stdio.h>
  2 
  3 // 定义一个结构体来模拟类
  4 typedef struct Point {
  5     int x;
  6     int y;
  7 
  8     // 定义函数成员
  9     void (*print)(struct Point);
 10     void (*move)(struct Point*, int, int);
 11 } Point;//
 12 
 13 // 定义函数成员的实现
 14 void printPoint(Point p) {
 15     printf("Point coordinates: (%d, %d)\n", p.x, p.y);
 16 }
 17 
 18 void movePoint(Point* p, int dx, int dy) {
 19     p->x += dx;
 20     p->y += dy;
 21 }
 22 
 23 int main() {
 24     // 创建一个Point对象
 25     Point myPoint = {3, 5, printPoint, movePoint};
 26 
 27     // 调用函数成员
 28     myPoint.move(&myPoint, 2, 3);
 29     myPoint.print(myPoint);
 30 
 31     return 0;
 32 }
 33 
~                                                                                                                       
~            

当我typedef struct后面没有跟着一个Point时,会报错。报错如下,为什么?

img

  • 写回答

4条回答 默认 最新

  • 浪客 2024-05-13 14:53
    关注

    struct 后面要跟一个名字,这个名字是结构体的名字,这个不能少,不然不完整。
    typedef则是给这结构体一个别名。

    分开写就是
    struct xxx{}
    typedef struct xxx YYY

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 已采纳回答 5月13日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!