C语言的结构体定义中的命名是什么规则?

这是一个成绩排名的结构体定义,我的问题是,在定义结构体的时候为什么不加“typedef”?
还有就是命名的时候,为什么上面是E,下面是buf[1000]?

#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;

struct E{
char name[101];
int score;
}buf[1000];

回答如下:

    关键字 typedef 是为一种数据类型起一个“别名”,所以定义结构体的时候不是一定要用 typedef 。一般用 typedef 给结构体类型起别名,主要是为了以后使用的时候少打一些字,看起来也会更简洁、明白。

    命名的时候,上面是 E 和下面是 buf[1000] 在语法规则上没有任何关系,它们都是标识符,只要符合 C 语言的标识符的命名规范就可以了。

    下面的 buf[1000] 是表示定义了一个名字叫 buf 的长度为 1000 个结构体 struct E 的数组。

如有帮助,烦请点采纳,谢谢!

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-15

E的意思是新设置一种数据类型,以后写E就好比写int一样定义变量类型

buf数组是结构E的数组变量

可以写成:

struct E{
  char name[101];
  int score;
}; //这样仅定义结构E
struct E buf[1000]; //定义结构数组,或者写:E buf[1000];是同样功能

本回答被提问者采纳
第2个回答  2019-03-15
没什么特别的,就是变量的命名规则呀,由字母数字下划线组成,数字不能开头,不能用系统保留字(关键字)
第3个回答  2019-03-15
struct 自定义类型名(可以不定义)(相当于int a的int)
{
}自定义标签名;(相当于int a的a,就像int a=2等等)(或者不写定义,但省略不掉自定义类型,在后面定义时写struct 自定义类型 自定义标签;)
第4个回答  2019-03-14
你说的是标准C语言的形式是:
typedef struct E{...}E;
E buf[1000];
到了C++,将类的概念扩展到了结构体,结构体升级成了一种比较特殊的类,具有了成员函数,而且成员的访问类型默认为public(公共成员),也就出现了以下形式:
struct E{...};
E buf[1000];
详细请参见C++ primer plus相关章节。

C语言的结构体定义中的命名是什么规则?
回答如下:关键字 typedef 是为一种数据类型起一个“别名”,所以定义结构体的时候不是一定要用 typedef 。一般用 typedef 给结构体类型起别名,主要是为了以后使用的时候少打一些字,看起来也会更简洁、明白。命名的时候,上面是 E 和下面是 buf[1000] 在语法规则上没有任何关系,它们都是标识符,...

C语言对结构体的自命名的方法和规则?
定义结构体:struct 结构体名 { 成员列表 };定义结构体类型的变量:有三种形式 ① 定义类型时定义变量:struct 结构体类型名 { 成员列表 }变量名列表;② 直接定义结构类型变量:struct { 成员列表 }变量名列表;③ 由已定义的结构体类型来定义变量:struct 结构体类型名变量名列表;引用结构体类型变...

C语言结构体命名
C语言中的结构体:在C语言中,结构体指的是一种数据结构,是C语言中聚合数据类型的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员,且这些成员可以为不同的类型,成员一般用名字访问。在C语言中,结构体的名字本质上...

C语言中,结构体成员中为什么姓名总是用数组来定义,而其他成员如成绩、序...
因为C语言中,char只能存储一个字符,而名字由多个字符组成,所以要定义为数组。成绩、序号一般都是数字,也有特殊情况,比如:混合数字字母的序号,就要用字符数组定义了。

c语言结构体定义
3. 成员的类型和命名:结构体的成员可以是任何数据类型,包括基本类型或其他结构体类型。成员的命名应遵循C语言的变量命名规则,通常使用有意义的名称来标识每个成员的功能。4. 结构体的使用:一旦定义了结构体,就可以在程序中使用它来创建变量。创建的变量将具有结构体定义中指定的所有成员。通过访问这些...

C语言结构体定义
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。在一般情况下,tag、member-list、variable-list这3部分至少要出现2个。结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而...

C语言结构体名代表什么?是地址吗?
结构体的定义是一种类型的定义,就像int、float一样来定义变量,通过这种类型定义出的变量可以当做是地址。当做实参时可以通过&来取地址,形参指针接收。 子诺嫣然 | 发布于2012-05-25 举报| 评论 7 0 struct book arr[5];其中struct book 相当于 int 、char。这个够具体了吧。 本回答被提问者采纳 热心...

求解答c语言结构体定义中typedef的作用
c语言结构体定义中typedef的作用是为一种数据结构体定义一个新名字。在c语言中使用typedef帮助定义结构体,对于声明结构体变量,便可以直接使用typedef xxx(结构体名 对象名)的形式,而没必要带上struct关键词。实际项目C代码中,结构体的定义一般都使用了typedef,在大量使用结构体变量的场合,这样会省事...

...数组名、函数名及结构体名由什么字符组成及满足什么规则?_百度...
C语言标识符的命名规则有:1、有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。2、有效长度:随系统而异。如果超长,则超长部分被舍弃。3、C语言的关键字不能用作变量名。

C语言结构体定义
C语言结构体定义:struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。结构体是C语言中聚合数据类型(aggregatedatatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的...

相似回答