社区
C语言
帖子详情
C语言中是否有变量的别名定义?
icybird
2007-09-28 03:25:31
例如需要采用typedef定义一个结构,想这样
typedef struct
{
int member;
TList *next;
}TList;
但是在解析next报TList类型未知,以前记得有个方法,使用结构的别名:
typedef struct TList_tag
{
int member;
TList_tag *next;
}TList;
但是好像名字记错了.
另外,是否有其他方法实现?
不是先定义一个结构,然后typedef一下的那种.
...全文
702
6
打赏
收藏
C语言中是否有变量的别名定义?
例如需要采用typedef定义一个结构,想这样 typedef struct { int member; TList *next; }TList; 但是在解析next报TList类型未知,以前记得有个方法,使用结构的别名: typedef struct TList_tag { int member; TList_tag *next; }TList; 但是好像名字记错了. 另外,是否有其他方法实现? 不是先定义一个结构,然后typedef一下的那种.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hunter8212
2007-09-29
打赏
举报
回复
5楼说对了~
3楼说的很明白呀:
/**********************/
typedef struct TList_Node
{
...
struct TList_Node *pNext;
}* TList;
/*
这样TList是一个TList_Node的指针类型;
*/
cgrapefruit
2007-09-29
打赏
举报
回复
请问3楼:在第一种方法里,TList 是 struct TList_tag 类型。
在第二种方法里,TList是一个指向struct的指针类型。
这两种方法生成的类型不一样,不知道我理解的对不对?
wangkuiyue
2007-09-28
打赏
举报
回复
楼上正解
yevv
2007-09-28
打赏
举报
回复
没有你所说的变量的别名
如果你非要那样,你可以按如下方法变通;
struct TList_tag;
typedef struct TList_tag TList;
struct TList_tag
{
...
TList *pNext;
};
不过说实话,看不出来有什么必要非要这么和自己过不去 :)
一般来说都是这么定义:
typedef struct TList_Node
{
...
struct TList_Node *pNext;
}* TList;
这样TList是一个TList_Node的指针类型;
在C中不能省略关键字struct 在C++中可以
mcu_2008
2007-09-28
打赏
举报
回复
正解!
neosu
2007-09-28
打赏
举报
回复
typedef struct TList_tag
{
int member;
struct TList_tag *next;
}TList;
C语言
初识常见关键字-typedef重
定义
通过使用 typedef,我们可以为基本数据类型、结构体、联合体等
定义
别名
,这样在后续的代码
中
就可以使用这个新的
别名
来声明
变量
,而不需要重复写整个数据类型的名称。 1. 为基本数据类型
定义
别名
: typedef int my_...
从
C语言
过渡到C++之引用(
别名
)
在这段代码
中
,我们给
变量
a创建了一个
别名
b。它们公用同一块内存区域,就是创建
变量
a时申请的区域。 注意:由于引用并不需要申请一块新的内存空间,因此在建立引用时只能声明,不能
定义
。 面试题
中
常考这个知识点,...
C语言
typedef:给类型起一个
别名
例如有一个结构体的名字是 stu,要想
定义
一个结构体
变量
就得这样写: struct stu stu1; struct 看起来就是多余的,但不写又会报错。如果为 struct stu 起了一个
别名
STU,书写起来就简单了: STU stu1; 这种写法...
C语言
学习笔记
变量
的属性:auto(存储于栈
中
,默认)、static(存储于静态区
中
)、register(存储于寄存器
中
) static静态局部
变量
:被多次调用时,只被一次
定义
和初始化,调用时保持上次的不变。 全局
变量
分配在数据段上,局部...
C语言
typedef与复杂函数声明问题的深入解析
下面是三个
变量
的声明,我想使用typedef分别给它们
定义
一个
别名
,请问该如何做?>1:int *(*a[5])(int, char*);>2:void (*b[10]) (void (*)());>3. doube(*)() (*pa)[9];答案与分析:对复杂
变量
建立一个类型
别名
的...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章