素韵亦轩 发表于 2017-9-20 10:54:29

关于结构体的疑问

求问鱼友们~~~~
定义一个结构体A,
struct A{};
然后用A定义一个结构体a即
Aa ;
这样的形式与定义一个结构体类型A,
typedef struct A{};
然后用A定义一个结构体a即
Aa ;
两种表达形式的区别在哪?在C语言和C++两个环境中又有什么区别?

ba21 发表于 2017-9-20 12:38:02

structA{
      inta;
};
准确的说这是声明。。
------------------------------------
A a; 这叫定义。
--------------------------------
structA{
      inta;
} a;
声明并定义
--------------------------------------

素韵亦轩 发表于 2017-9-20 15:57:37

ba21 发表于 2017-9-20 12:38
structA{
      inta;
};


追问一下,在声明一个struct的时候加不加typedef有什么区别,对后边定义结构体有什么影响

ba21 发表于 2017-9-20 19:22:29

素韵亦轩 发表于 2017-9-20 15:57
追问一下,在声明一个struct的时候加不加typedef有什么区别,对后边定义结构体有什么影响

{:10_261:}
2个是不同的东西,typedef 是typedef, struct 是struct 。
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名
参考: https://baike.baidu.com/item/typedef/9558154?fr=aladdin
如:
typedef int myint;

结构体取别名:
typedef structA{
      inta;
} MYA;

或者
structA{
      inta;
} ;

typedef A MYA;

素韵亦轩 发表于 2017-9-21 10:31:58

ba21 发表于 2017-9-20 19:22
2个是不同的东西,typedef 是typedef, struct 是struct 。
typedef是在计算机编程语言中用 ...

蟹蟹,好像有点理解了{:7_113:}

ba21 发表于 2017-9-21 12:55:11

素韵亦轩 发表于 2017-9-21 10:31
蟹蟹,好像有点理解了

满意请点个最佳
页: [1]
查看完整版本: 关于结构体的疑问