C语言结构体变量值的意义是什么?
假设我定义了一个结构体变量struct{...}AAA;现在我用printf("%d\n",AAA);直接输出变量AAA,这是能编译通过,也能输出值,但我不知道它代表什么...
假设我定义了一个结构体
变量struct {...} AAA;
现在我用printf("%d\n", AAA);
直接输出变量AAA,这是能编译通过,也能输出值,但我不知道它代表什么,有什么意义。 展开
变量struct {...} AAA;
现在我用printf("%d\n", AAA);
直接输出变量AAA,这是能编译通过,也能输出值,但我不知道它代表什么,有什么意义。 展开
5个回答
展开全部
结构体类型与其他数据类型相同,其变量要通过数据类型定义,但结构体类型是一种自定义数据类型,其变量定义方式与其他数据类型有些许区别。结构体变量的定义方式主要有两种,下面分别进行介绍。
1、先定义结构体类型,再定义结构体变量
先定义结构体类型,再定义结构体变量,这种结构体变量定义方式与其他数据类型相同,其语法格式如下:struct 结构体类型名 结构体变量名;
以上一节定义的struct Student结构体类型为例,定义该结构体变量的示例代码如下:struct Student stu1,stu2;
上述代码定义了2个结构体类型变量stu1和stu2,这时,stu1和stu2便具有了结构体特征,编译器会为它们分配一段内存空间用于存储具体数据,具体如下图所示。
771b37a16319f5ac70e0f3e8589834ea.png
struct Student结构体变量stu1、stu2的存储结构
需要注意的是,使用结构体类型定义变量时,struct关键字不可少,struct Student作为整体才表示一个结构体类型。缺少struct关键字,程序编译不通过。错误示例代码如下:Student stu1; //错误,缺少struct关键字
编译器在编译上述代码时会报错,提示未定义标识符“Student”。
2、 在定义结构体类型的同时定义结构体变量
定义结构体类型的同时定义结构体变量,其语法格式如下:struct 结构体类型名称
{undefined
数据类型 成员名1;
数据类型 成员名2;
…
数据类型 成员名*n*;
}结构体变量名列表;
以定义struct Student结构体类型,并定义struct Student类型的变量stu1、stu2为例,具体示例如下:struct Student{undefined
int num; char name[10];
char sex;
}stu1,stu2;
上述代码在定义结构体类型struct Student的同时定义了结构体变量stu1和stu2,该方式的作用与先定义结构体类型,再定义结构体变量作用相同,其中,stu1和stu2中所包含的成员类型都是一样的。
1、先定义结构体类型,再定义结构体变量
先定义结构体类型,再定义结构体变量,这种结构体变量定义方式与其他数据类型相同,其语法格式如下:struct 结构体类型名 结构体变量名;
以上一节定义的struct Student结构体类型为例,定义该结构体变量的示例代码如下:struct Student stu1,stu2;
上述代码定义了2个结构体类型变量stu1和stu2,这时,stu1和stu2便具有了结构体特征,编译器会为它们分配一段内存空间用于存储具体数据,具体如下图所示。
771b37a16319f5ac70e0f3e8589834ea.png
struct Student结构体变量stu1、stu2的存储结构
需要注意的是,使用结构体类型定义变量时,struct关键字不可少,struct Student作为整体才表示一个结构体类型。缺少struct关键字,程序编译不通过。错误示例代码如下:Student stu1; //错误,缺少struct关键字
编译器在编译上述代码时会报错,提示未定义标识符“Student”。
2、 在定义结构体类型的同时定义结构体变量
定义结构体类型的同时定义结构体变量,其语法格式如下:struct 结构体类型名称
{undefined
数据类型 成员名1;
数据类型 成员名2;
…
数据类型 成员名*n*;
}结构体变量名列表;
以定义struct Student结构体类型,并定义struct Student类型的变量stu1、stu2为例,具体示例如下:struct Student{undefined
int num; char name[10];
char sex;
}stu1,stu2;
上述代码在定义结构体类型struct Student的同时定义了结构体变量stu1和stu2,该方式的作用与先定义结构体类型,再定义结构体变量作用相同,其中,stu1和stu2中所包含的成员类型都是一样的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言两个结构体变量互相赋值后占不同存储单元。
1、结构体变量是可以直接赋值的。定义结构体类型,然后用这个类型定义出来的变量就是结构体变量。2、C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
1、结构体变量是可以直接赋值的。定义结构体类型,然后用这个类型定义出来的变量就是结构体变量。2、C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2022-04-01
展开全部
结构体的类型名相当于新的一种数据类型,它与int,char这些数据类型是等价的;而变量名则是它所申明的数据类型所拥有的内存空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体类型与其他数据类型相同,其变量要通过数据类型定义,但结构体类型是一种自定义数据类型,其变量定义方式与其他数据类型有些许区别。结构体变量的定义方式主要有两种,下面分别进行介绍。1、先定义结构体类型,再定义结构体...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言两个结构体变量互相赋值后占同一个存储单元吗 c语言两个结构体变量互相赋值后占不同存储单元。1、结构体变量是可以直接赋值的。定义结构体类型,然后用这个类型定义出来的变量就是结构体变量。2、C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询