C语言结构体变量问题?

STU不是结构体变量吗?那STUn什么意思?没看懂。跪求大神解释一下... STU 不是结构体变量吗?那STU n什么意思?没看懂。跪求大神解释一下 展开
 我来答
月光下的qq
2021-03-11 · 科技优质答主
月光下的qq
采纳数:392 获赞数:671

向TA提问 私信TA
展开全部
您好,很高兴回答您的问题。
在c语言中,有一种特殊的类型,就是结构体类型,这是构造类型的一种,也就是由若干个基本类型组合构成的特殊类型。
结构体类型与其他的基本类型一样,要先定义再使用。那么定义分成两部分,一个是定义结构,也就是包含哪些内容;另一个就是定义类型,表示用来具有这个类型的变量。
您的程序中,STU就是定义结构,t就是具有这种类型的数组,n就是具有这种类型的变量。两者是不同的概念,需要区别开来。
上海长英
2021-03-11 · 上海长英,自动化电气设计,软件编程。
上海长英
采纳数:1072 获赞数:22873

向TA提问 私信TA
展开全部
  1. 前面还有个typedef,是对student 结构类型定义一个别名。

    typedef struct student {

    long sno;

    char name[10];

    float score;

    }STU;

    struct student{

                           long sno;

                           char name[10];

                            float score;

                           }STU;

 以上两种写法 功能是不一样的,你描述的应该是第二种用法。

 上面的第一种写法最前面多了一个typedef 关键字。

  typedef 最常用的就是对一个基本数据类型 定义一个别名

  例如:typedef int INT;

            typedef short BOOL;

            typedef unsigned WORD;

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

我描述的不够详细,如有遗漏 欢迎继续提问。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2021-03-10
展开全部
STU不是变量, 是结构体类型的名称, STU是类型, 相当于int的意思

STU n; 表示定义一个类型为STU的变量n
一般来说, 定义这种结构体类型的名称习惯上用大写表示, 较少看到变量名为全部大写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Yuqi_Tan

2021-03-11 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3458万
展开全部
前面的定义语句:
typedef struct student
{……
}STU;
定义了一个结构体变量类型STU,它不是变量名,如同int是整型数的变量类型的名字一样,int不是变量名,不能用int=3。
如果要定义一个整型变量n,可以用:
int n;语句。
同理,要用到STU型的变量n,可以使用STU n;。
需要注意,如果定义语句前面没有typedef,例如:
struct student
{
……
}STU,
则,STU是一个变量名,可以赋值了。当然,需要这种类型的其他变量时,可以用:
struct student m;
来定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2021-03-10 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5985万
展开全部
STU是结构类型,不是结构变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式