为了账号安全,请及时绑定邮箱和手机立即绑定

关于typedef的问题

关于typedef的问题

C C++
你想象不到我有多执着 2017-01-03 19:58:29
问题1:typedef struct Student  Student;上面的意思我知道,但是下面的我不明白是什么意思typedef struct _Student { int age; int sex; }Student;问题2:typedef跟#define有区别吗???
查看完整描述

3 回答

已采纳
?
眼前的黑不是黑zz

TA贡献57条经验 获得超42个赞

问题1 上面的意思和下面的是一样效果,都是给学生的结构体取了个别名,区别是下面的是定义结构体的同时取了别名,而上面的只是取别名,没有定义结构体。

问题 2 

1.typedef后面要加分号作为结尾,而define则不需要;

2. 

typedef struct _Student 

{

    int age;

    char sex;

}Student;

    Student joke = {18,  '男'};

======================

    #define  stdent_num 50

它们两个声明的位置是相反的,define声明的常量名字是在前面,typedef声明的名字在最后面。

查看完整回答
1 反对 回复 2017-01-04
?
快乐的时光

TA贡献79条经验 获得超48个赞

希望对你有所帮助 谢谢 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预处理指令。下面让我们一起来看。typedef是C语言语句,其功能是用户为已有数据类型取“别名”。 常常保存一个常量 比如说 #define PAI 3.14
查看完整回答
1 反对 回复 2017-01-03
  • 3 回答
  • 0 关注
  • 1174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信