结构体类型名、结构体变量名怎么区分

15.设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是()A.PER是结构体变量名B.PER是结构体类型名C.ty... 15. 设有以下说明语句typedef struct { int n;char ch[8];}PER;则下面叙述中正确的是( )
A.PER 是结构体变量名 B.PER是结构体类型名C.typedef struct 是结构体类型 D.struct 是结构体类型名

(PER在这里是什么来的???)
展开
 我来答
王律师案件普法

2019-07-06 · TA获得超过35.9万个赞
知道大有可为答主
回答量:374
采纳率:89%
帮助的人:37.9万
展开全部

关键字 struct 就代表是一个结构体类型。

PER就是就是这个结构体类型的名称。

PER per ; per就是定义好的结构体变量。

12345678910111213141516171819202122typedef struct PER{    int n;    char ch[8];}PER;一般这样定义结构体类型 定义变量的时候可以 struct PER per; 或者 直接 PER per;  而用你写的定义方法只能用 PER per 定义变量  如果这样写struct PER{    int n;    char ch[8];}; 只能用 struct PER  per 的方式定义变量。

扩展资料:

#include<stdio.h>

struct pn544_dev{    //一般性定义结构体

 char a;

};   

typedef struct {        //定义一个数据类型

char a;

}pn545_dev;

int main()

{  struct pn544_dev *dev_id;

//struct pn544_dev *pn544_dev = dev_id;    //这个可以

struct pn544_dev pn544_dev;    //这个也是可以,可见不是数据类型的愿因

pn544_dev.a='a';

putchar(pn544_dev.a);

  pn545_dev pn545_dev;        //这个也可以,即使用typedef声明了数据类型,也可以同名。

pn545_dev.a= 'b'

putchar(pn545_dev.a);

return 0;}

参考资料来源:百度百科 ——结构体类型

风若远去何人留
推荐于2018-01-31 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450142
专业C/C++软件开发

向TA提问 私信TA
展开全部
结构体类型名有两种来历.一个是定义结构体的时候
struct type {...};
这里的struct type共同称为结构体类型名.
另一种是typedef出来的. typedef struct type TYPE; 这里的TYPE也是类型名.
二者可以写一起. typedef struct type {...} TYPE;
所以 在你的题目中, PER为typedef出来的类型名.
凡是用类型名定义的变量, 都是变量名.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fe4fccd
2018-01-31 · 超过14用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:27.3万
展开全部
还有:
假如有人问你“结构体类型”,其实就是结构体类型名。
定义变量时,结构体类型(名)+变量名,就像int a一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式