汉邦问答 / 问答 / 问答详情

C语言 ,一个程序里两个不同结构体里的变量名能相同吗?用的时候会发生内存错误吗?

2023-06-11 08:21:05
kikcik
访问结构体的成员变量的方式是结构体变量名.成员变量名或结构体指针名->成员变量名,所以两个不同的结构体当中的成员变量不会有命名冲突。

C语言中结构体类型名与变量名的区别?

关于结构体类型,有几点要说明:  (1) 不要误认为凡是结构体类型都有相同的结构。实际上,每一种结构体类型都有自己的结构,可以定义出许多种具体的结构体类型。  (2) 类型与变量是不同的概念,不要混淆。只能对结构体变量中的成员赋值,而不能对结构体类型赋值。在编译时,是不会为类型分配空间的,只为变量分配空间。  (3) 对结构体中的成员(即“域”),可以单独使用,它的作用与地位相当于普通变量。  (4) 成员也可以是一个结构体变量。  如  struct Date //声明一个结构体类型Date  {  int month;  int day;  int year;  };  struct Student  //声明一个结构体类型Student  {  int num;  char name[20];  char sex;  int age;  Date birthday;  char addr[30];  }student1,student2;  //定义student1和student2为结构体类型Student的变量Student的结构见图7.3所示。图7.3  (5) 结构体中的成员名可以与程序中的变量名相同,但二者没有关系。  例如,程序中可以另定义一个整型变量num,它与student中的num是两回事,互不影响 以上来自百科而变量名是用户定义的标识符如定义了一个名为SU的结构类型,SU a;a就是变量名,SU就是结构类型名
2023-06-10 10:34:332

啥事结构体类型名 啥是结构体变量名 啥是结构体名

结构体类型名就是结构体名 表示特定的某个结构体类型 结构体变量名就是一个实例化的结构体。比如你定义了一个结构体叫做name {int a;int b}name xxx;name就是结构体类型名,xxx就是变量名
2023-06-10 10:34:411

一个结构体类型的变量,它的变量名究竟是什么含义

变量名没有什么特别的含义就是用来表示这个变量的这个对于结构体变量 或者是整型变量 并没有什么区别struct time t;t表示的就是这个结构体,代表了一个变量的存储 有自己的格式和范围。 int a;也是一样的,表示一个整型变量,仅此而已。
2023-06-10 10:34:481

C语言中定义结构体类型变量的方法?

1使用struct关键字,分为匿名定义和非匿名定义2匿名定义(定义好的结构体类型只能使用一次)//定义一个结构体变量pointstruct{int x;int y;}point;3非匿名定义(定义好的结构体类型可以多次使用)//定义两个结构体变量point1,point2struct Point{int x;int y;};struct Point point1;struct Point point2;
2023-06-10 10:34:583

C语言中结构体变量名代表什么

A 是这个结构体的一个实例~
2023-06-10 10:35:106

结构体变量名是结构体的首地址吗?

有些编译器 支持用结构体变量名做地址的方式但一般不推荐因为非标准正确的方式是用&变量名比如struct type s;那么s的地址为&s
2023-06-10 10:35:281

什么是结构体变量?

在C语言中,结构体的成员只能是数据,C++对此加以扩充,结构体的成员既可以包括数据(即数据成员),又可以包括函数(即函数成员),以适应面向对象的程序设计
2023-06-10 10:35:374

C语言结构体变量名究竟代表什么

供电公司,
2023-06-10 10:35:5711

结构体名,结构体变量名,声明变量三者直接的关系

a是结构体名,c也是结构体名(等价于struct a),因为typedef struct a{ int n; int m;}c;等价于struct a{int n;int m;};typedef struct a c;这样定义后,可以使用struct a b;和c b;
2023-06-10 10:36:303

c语言中,结构体类型名和变量名之间有什么区别?如何区分?

结构体名字是类名,变量名是实体名,一个类可以有许多实体。好比说笼统说“铅笔”是一个类,那么文具盒里面具体的每一支铅笔都是一个实体。结构体的成员只起到规划的作用,变量才是具体实施的。能理解否???
2023-06-10 10:36:501

结构体名字可以和这个结构体的变量名一样吗

这显然是不可以的。变量名不能和任何类型名相同,包括自定义的类或者结构体类型。
2023-06-10 10:36:591

c语言结构体变量名和结构体类型可以重名吗?

我在VS2008上试了一下,貌似可以,其他编译器就不知道了
2023-06-10 10:37:074

结构体的变量列表是什么意思

变量名列表就是在定义结构体时,同时定义了2个或2个以上该结构体类型的变量。比如struct 结构体名{ 成员列表}变量名1,变量名2,变量名3,变量名n;上面的 变量名1至变量名n就是变量名列表,它多数是由2个或2个以上组成的(也可以只有1个或者不声明变量也行)。
2023-06-10 10:37:131

在matlab中怎么定义结构体?机构体的概念?

可以先定义,model = struct("attribute1",[],"attribute2",[]);然后就可以给model赋值了,比如model.attribute1 = ones(3); model.attribute2 = "hello";也可以不用定义,直接写,比如a.name = "huang"; a.age = 16;
2023-06-10 10:37:212

C语言中,&结构体是什么操作呢?

取 地址 吧对应的 ,符号 * 是 取对应指针 对应地址内的 数
2023-06-10 10:37:282

结构体的变量的地址是什么

#includeint main(){ struct node { int data; struct node *next; }snode; struct node *p; p= return 0;}上面定义了一个单链表结构体node,它有2个变量,其中p就是指针变量p=&snode就是让指针p指向结构体snode的首地址,这样p就能对snode的元素data进行操作如p->data=5
2023-06-10 10:37:361

C语言子模块中函数入口参数名可以跟全局变量名(结构体变量)一样吗

你问题也没必要问的这么复杂吧?不就想问,形参和实参可不可以同名呗。二者是否同名没什么关系。同名的情况下,二者作用域不同,当调用函数时,实参将值传给形参,然后函数调用过程中会暂时屏蔽同名实体变量,等函数调用完,形参就会释放。
2023-06-10 10:37:432

C语言结构体问题

这里有篇这样的文章,希望对您有帮助。http://www.experts-exchange.com/Programming/Languages/CPP/Q_10171733.html
2023-06-10 10:38:043

c语言函数体内的变量名能和结构体内的变量名相同吗

可以的,两个重名不在一个作用域 哦
2023-06-10 10:38:157

C语言 结构体声明中const成员如何初始化

终极办法 memcpy
2023-06-10 10:38:399

设有以下说明语句 struct STUDENT { int n; char ch[8]; }PER; 下列正确的是: 得

D 用PER来定义变量。
2023-06-10 10:39:093

c语言中怎样统计结构体数组中成员个数?

结构体数组等于若干个结构体变量的集合,而结构体变量是一组数据的集合(就像你说的整型数组)输出的时候是输出结构体变量中的数据,输出的格式是结构体变量名.成员名
2023-06-10 10:39:192

请问C语言中结构名和结构变量是什么?

类就像一份说明书
2023-06-10 10:39:322

Keil中如何在debug watch窗口查看结构体变量

打开watch1窗口, 把变量名拖进去, 如果拖不进去, 就设一个断点在那里。
2023-06-10 10:39:411

结构体类型变量是干什么的?和结构体名有什么区别?

结构体变量可以将不同类型的变量放在一起,应用很广,具体应用可以拿本c语言的书看看。结构体名就是结构体变量的名字,与变量名类似。
2023-06-10 10:39:561

c++结构体名可以与结构体变量名相同吗,结构体名可以与成员名相同吗,求大神,急急!!!

2023-06-10 10:40:173

关于C语言结构体重复定义的问题

我见过这样的题,没看懂你的意思,不过我看这样说吧,structa{...}b;我打。。。的地方表示你可以在那里添加所有的数据形式的定义,比如,inta;chara[10];等等;而b表示变量名。就如同inta的a一样,只是一个变量标示符,他就是一个结构体变量了。当你使用typedef使,它表示的是枚举类型,功能如同宏定义一样,使用他的时候方法如下:首先写出你要表示的变量类型。列如:inta;然后在int的前面加上typedef,typedefinta;然后把变量名a改变成你要使用的表示符如pp;现在就变成typedefintpp;当你要在定义其他的变量是int型的时候,你就可以这样定义了ppb;这里的b就是变量名了。注意枚举类型它并不产生新的变量类型,只是一种替代作用。我在给你举个列子吧typedefstructa{ints;charp[10];}num;numn;这时候n就是structa类型的结构体变量了。不知道你懂没有。。。
2023-06-10 10:40:371

结构体大括号后面是什么

1.结构体类型名加变量名定义的,就是结构体变量;跟int a;这是的用法是完全一样的。2.大括号之后定义的就是变量,相当于定义结构体的时候,同时定义了变量;如果不定义,在以后定义也是一样的。
2023-06-10 10:40:441

C语言,C++,结构体变量名代表什么,数组名代表数组元素地址,相当于一个指针,结构体名代表什么??

结构体名相当与类,如int,void,char等等,可用于声明变量
2023-06-10 10:40:513

结构体变量名是结构体的首地址吗?

有些编译器 支持用结构体变量名做地址的方式 但一般不推荐 因为非标准 正确的方式是用&变量名 比如 struct type s; 那么s的地址为&s
2023-06-10 10:40:581

c语言中,结构体类型名和变量名之间有什么区别?如何区分?

StructStu(…)stu1;stu就是类型名,stu1就是变量名,函数里面可以用structstus这种形势继续定义像s这样变量,扯指针就有点小麻烦。记得不是很清了,大概是这样,另,不用给分了,好歹加了好友的
2023-06-10 10:41:061

定义结构体类型的同时能够定义它的变量

结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单。结构体变量的定义。前面只是定义了名字为Student的结构体类型,并非定义了一个结构体变量,就像int一样,只是一种类型。接下来定义一个结构体变量,方式有好多种。1.先定义结构体类型,再定义变量第6行定义了一个结构体变量,变量名为stu。struct和Student是连着使用的。2.定义结构体类型的同时定义变量结构体变量名为stu。3.直接定义结构体类型变量,省略类型名结构体变量名为stu。四、结构体的注意点。1.不允许对结构体本身递归定义。如下做法是错误的,注意第3行。2.结构体内可以包含别的结构体。3.定义结构体类型,只是说明了该类型的组成情况,并没有给它分配存储空间,就像系统不为int类型本身分配空间一样。只有当定义属于结构体类型的变量时,系统才会分配存储空间给该变量。第1~4行并没有分配存储空间,当执行到第6行时,系统才会分配存储空间给stu变量。4.结构体变量占用的内存空间是其成员所占内存之和,而且各成员在内存中按定义的顺序依次排列。比如下面的Student结构体:在16位编译器环境下,一个Student变量共占用内存:2+2+4=8字节。
2023-06-10 10:41:221

结构中的变量可以和别的变量重名吗

结构体中的成员变量名,与非结构体变量没有关系,可以相同。因为,结构体中的成员变量在引用时,必须要用结构体变量名+成员变量名来引用,所以不会有冲突!
2023-06-10 10:41:332

C语言中struct是个什么意思 怎么用 能不能通俗点说

结构体。就是定义一系列变量的集合例如:struct test{ int a; int b;};使用的时候:test t;t.a = 1;t.b = 2;
2023-06-10 10:41:412

C语言中结构体类型名与变量名区别?

你定义一个结构体node,structnode{intdata;structnode*next;};//并不占用任何空间,就好像int一样如果你定义一个变量structnodelnode;lnode这个变量就会占用一定大小的空间。呵呵,这只是我的一点理解。
2023-06-10 10:42:315

C语言中结构体类型名与变量名的区别?

结构体名字是类型名,变量名是实体名,一个类型可以有许多实体。具体操作,举例讲解如下:1.结构体类型定义定义方式1:TypedefstructLNode{intdata;//数据域structLNode*next;//指针域}*LinkList;定义方式2:structLNode{intdata;//数据域structLNode*next;//指针域};TypedefstructLNode*LinkList;以上两个定义方式是等价的,是将*LinkList定义为structLNode类型,即LinkList被定义为一个类型名。这样就可以用LinkList来定义说明新的变量了,如:LinkListL;即将L定义为structLNode类型的指针变量2.结构体类型变量定义定义方式1:structLNode{intdata;//数据域structLNode*next;//指针域}LnodeA;定义方式2:structLNode{intdata;//数据域structLNode*next;//指针域};structLNodeLnodeA;以上两个定义方式也是等价的,这样就将LnodeA定义为一个tructLNode类型的变量,即LnodeA为一个tructLNode类型的变量名。
2023-06-10 10:42:491

啥事结构体类型名 啥是结构体变量名 啥是结构体名

定义的是一个这个类型的对象structa{……};an;//类似于inta;只不过int类型很简单,而结构体类型要相对复杂,a是这个结构体的结构名structa{……}n,m;和structa{……};an;am;是一样的
2023-06-10 10:42:582

C语言中结构体类型名与变量名区别是什么?

没有多少区别。结构体是自定义的变量名。
2023-06-10 10:43:086

关于结构体类型、结构体类型名以及结构体变量的区分?

培训班怎么招生?面对周圈多不胜数的培训机构,在激烈的招生中如何脱颖而出?仅需几步就能搞定,让招生更简单高效,少花冤枉钱.
2023-06-10 10:43:243

结构体变量是什么意思?

位域结构体~一般网络传输等用得上, 冒号后面跟的数字代表占的位数. 定义的是byte有什么问题? 不管是byte还是int都一样的啊, 当然unsigned是不一样的...
2023-06-10 10:43:594

什么是结构体变量

先说一下结构体吧,结构体是包含几个不同类型变量(相同也行),如struct jgt{ int a; char b; float c;};现在jgt就是一个结构体类型,可以用他来定义变量,作用有像int 一样。如:jgt g;g就是结构体变量。
2023-06-10 10:44:153

结构体中的结构体变量名是什么?结构体变量是什么?最好能举例说明一下……

strcut student /*student是结构体名*/{int num; char sex; char name[20]; ...}student1,student2;/*student1,student2结构体变量名也是结构体变量*/
2023-06-10 10:44:262

结构中的变量可以和别的变量重名吗

结构体中的成员变量名,与非结构体变量没有关系,可以相同。因为,结构体中的成员变量在引用时,必须要用结构体变量名+成员变量名来引用,所以不会有冲突!
2023-06-10 10:44:352

c语言中,结构体类型名和变量名之间有什么区别?如何区分?

结构体名字是类名,变量名是实体名,一个类可以有许多实体。好比说笼统说“铅笔”是一个类,那么文具盒里面具体的每一支铅笔都是一个实体。结构体的成员只起到规划的作用,变量才是具体实施的。能理解否???
2023-06-10 10:44:531

C语言对结构体的自命名的方法和规则?

1.结构体类型数据的定义方法和引用方法定义结构体:struct 结构体名{成员列表};定义结构体类型的变量:有三种形式① 定义类型时定义变量:struct 结构体类型名{成员列表}变量名列表;② 直接定义结构类型变量:struct{成员列表}变量名列表;③ 由已定义的结构体类型来定义变量:struct 结构体类型名变量名列表;引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的变量:结构体变量名.成员名这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。使用结构体时注意:(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义结构体类型,然后再定义变量属于该类型。(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构体类型变量占用内存的字节数是所有成员占用内存长度之和。(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员时,应采取外层向内层逐级访问的方法。
2023-06-10 10:45:031

c语言结构体变量怎么使用?

  结构体变量简称为结构变量,它由结构类型定义,有三种定义方法。下面以定义结构类型 book 和结构变量mybook 、 storybook 为例说明之。  1. 先定义结构类型,再定义结构变量。  struct book /* 定义结构体类型 */  {  char bookname[20];  float price;  char publisher[20];  char author[10];  } ;  struct book mybook, storybook;  用这种方法定义结构变量,是最常用的方法,但须注意不能省略关键字“ struct ”。还可以在定义结构变量的同时给它的成员赋初值。如:  struct book /* 定义结构体类型 */  {  char bookname[20];  float price;  char publisher[20];  char author[10];  } ;  struct book mybook = { “maths”, 24.7, “ 电子社 ”, “zhao” }, storybook;  则, mybook 变量的 price = 24.7 。  2. 定义结构类型的同时定义结构变量。  struct book /* 定义结构体类型 */  {  char bookname[20];  float price;  char publisher[20];  char author[10];  } struct book mybook, storybook;  3. 不定义结构类型,直接定义结构变量。  struct /* 不定义结构类型名 */  {  char bookname[20];  float price;  char publisher[20];  char author[10];  } struct book mybook, storybook;  需要说明的是,当某结构类型的成员又是另外一个结构类型时,称嵌套定义,其定义方法如下:  struct brith_date  {  int month ;  int day ;  int year ;  } ;  struct  {  char name[10] ;  char address[30];  char tel[12];  int age;  struct data birthday;  char sex[3];  } student_01 , employee ;  此例直接定义了 student_01 和 employee 两个变量,但是没有定义此结构体的名字,因此不能再定义与student_01 和 employee 同类的其它结构变量了!如下行定义是错误的:  truct boy, girl;
2023-06-10 10:45:091

谁能告诉我 c语言结构体变量和结构体成员到底有什么关系 谢谢

结构体类型是数据类型,而结构体变量是数据对象。但成员本身不是变量,她必须以结构体变量相连接,以便使用它的成员
2023-06-10 10:45:202

C语言中定义结构体类型变量的方法?

你看下百度文库里的这篇文章,讲解的很详细
2023-06-10 10:45:284

C语言。PER为什么不是结构体变量名 不选A?

前面有typedef所以PRE是结构体类型别名也就是结构体类型不是变量找书看看typedef关键字方面的就知道了
2023-06-10 10:45:591

C语言中如何定义全局结构体变量

1.结构体类型数据的定义方法和引用方法定义结构体:struct结构体名{成员列表};定义结构体类型的变量:有三种形式①定义类型时定义变量:struct结构体类型名{成员列表}变量名列表;②直接定义结构类型变量:struct{成员列表}变量名列表;③由已定义的结构体类型来定义变量:struct结构体类型名变量名列表;引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的变量:结构体变量名.成员名这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。使用结构体时注意:(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义结构体类型,然后再定义变量属于该类型。(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构体类型变量占用内存的字节数是所有成员占用内存长度之和。(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员时,应采取外层向内层逐级访问的方法。求采纳为满意回答。
2023-06-10 10:46:081