chenlifeng 发表于 2022-3-13 19:35:30

关于结构体的一个小问题

这段代码:
typedef struct snake
{
    int x, y;//坐标
    int direction;//移动方向上1左2下3右4
    snake * next;
}*Msnake;
Msnake 前面加一个 * 是什么意思呀,和不加有什么区别吗。

jackz007 发表于 2022-3-13 19:46:30

本帖最后由 jackz007 于 2022-3-13 19:51 编辑

加星号以后,这样定义变量
Msnake L
等效于
structuresnake * L
定义 L 是一个指向structuresnake 型结构体的一个指针变量,如果不加星号,上面代码定义出来的 L 就是一个 structuresnake 型的结构体变量。所以,加和不加星号定义出来的变量 L 天差地别!

jhq999 发表于 2022-3-13 20:03:26

本帖最后由 jhq999 于 2022-3-13 20:05 编辑

Msnake s;
等价于
snake* s;
有的为了偷懒简化结构体名,有的是便于阅读,我现在了解到就是这些

2736946915 发表于 2022-3-13 20:05:29

类使用int Msnake和int* Msnake
页: [1]
查看完整版本: 关于结构体的一个小问题