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

2024-11-08 21:35:38
推荐回答(5个)
回答1:

回答如下:

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

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

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

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

回答2:

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

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

可以写成:

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

回答3:

没什么特别的,就是变量的命名规则呀,由字母数字下划线组成,数字不能开头,不能用系统保留字(关键字)

回答4:

struct 自定义类型名(可以不定义)(相当于int a的int)
{
}自定义标签名;(相当于int a的a,就像int a=2等等)(或者不写定义,但省略不掉自定义类型,在后面定义时写struct 自定义类型 自定义标签;)

回答5:

你说的是标准C语言的形式是:
typedef struct E{...}E;
E buf[1000];
到了C++,将类的概念扩展到了结构体,结构体升级成了一种比较特殊的类,具有了成员函数,而且成员的访问类型默认为public(公共成员),也就出现了以下形式:
struct E{...};
E buf[1000];
详细请参见C++ primer plus相关章节。