小黄练编程 发表于 2021-12-28 22:16:52

下面解释是否正确???

        typedef struct stu
        {
                int date;
                struct stu *next;
        }node,*linklist;
*linklist是不是等于struct stu
                {
                     int date;
                     struct stu *next;
                    };
即*linklistss;是否等价于 struct stu
                 {
                     int date;
                     struct stu *next;
                }ss;

{:10_266:}

人造人 发表于 2021-12-28 22:41:45

*linklistss;
这样写是错误的,语法错误

小黄练编程 发表于 2021-12-28 23:02:24

人造人 发表于 2021-12-28 22:41
*linklistss;
这样写是错误的,语法错误

意思就是不等价于是吗{:10_266:},
       typedef struct stu
      {
                int date;
                struct stu *next;
      }node,*linklist;
有时像上面有个linklist,后面某个函数例如 linklist(int x);这里的linklist与上面那个是没关系是吗,这只是个随意起的函数名是吗?{:10_266:}

人造人 发表于 2021-12-28 23:13:45

小黄练编程 发表于 2021-12-28 23:02
意思就是不等价于是吗,
       typedef struct stu
      {


没明白你的问题

小黄练编程 发表于 2021-12-28 23:18:51

{:10_266:}

小黄练编程 发表于 2021-12-28 23:36:08

人造人 发表于 2021-12-28 23:13
没明白你的问题

这个被typedef定义了的*linklist意思是不是   linklist是用来定义一个指向改结构体的指针啊。
例如 linklist *p;p只可以指向该结构体。   
struct stu
      {
                int date;
                struct stu *next;
      };

小黄练编程 发表于 2021-12-28 23:44:15

人造人 发表于 2021-12-28 23:13
没明白你的问题

呜呼,刚突然想明白了,得亏你昨天那篇文章,刚想起里面一个typedef int a的例子,a只能用来定义有10个int类型数据的数组。这个类似。{:10_266:}{:10_266:}{:10_266:}{:10_281:} {:10_281:}

人造人 发表于 2021-12-28 23:45:28

小黄练编程 发表于 2021-12-28 23:36
这个被typedef定义了的*linklist意思是不是   linklist是用来定义一个指向改结构体的指针啊。
例如 li ...

这个被typedef定义了的*linklist意思是不是
不是
typedef创建了一个新的类型,名字是 linklist
这个新的类型和下面这个是一样的
struct stu
      {
                int date;
                struct stu *next;
      } *

下面这两个是一回事
linklist x;
struct stu
      {
                int date;
                struct stu *next;
      } *x;

当然,官方的叫法是别名,但是我更喜欢说成是创建一个新的类型,这符合我对typedef的理解

人造人 发表于 2021-12-28 23:47:05

小黄练编程 发表于 2021-12-28 23:44
呜呼,刚突然想明白了,得亏你昨天那篇文章,刚想起里面一个typedef int a的例子,a只能用来定 ...

对,就是这个
不能用 #define 的眼光看 typedef
他们两个完全不一样

小黄练编程 发表于 2021-12-28 23:51:08

人造人 发表于 2021-12-28 23:47
对,就是这个
不能用 #define 的眼光看 typedef
他们两个完全不一样

{:10_250:}
页: [1]
查看完整版本: 下面解释是否正确???