下面解释是否正确???
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:}
*linklistss;
这样写是错误的,语法错误
人造人 发表于 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:02
意思就是不等价于是吗,
typedef struct stu
{
没明白你的问题 {:10_266:} 人造人 发表于 2021-12-28 23:13
没明白你的问题
这个被typedef定义了的*linklist意思是不是 linklist是用来定义一个指向改结构体的指针啊。
例如 linklist *p;p只可以指向该结构体。
struct stu
{
int date;
struct stu *next;
}; 人造人 发表于 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: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:44
呜呼,刚突然想明白了,得亏你昨天那篇文章,刚想起里面一个typedef int a的例子,a只能用来定 ...
对,就是这个
不能用 #define 的眼光看 typedef
他们两个完全不一样
人造人 发表于 2021-12-28 23:47
对,就是这个
不能用 #define 的眼光看 typedef
他们两个完全不一样
{:10_250:}
页:
[1]