黑马程序员技术交流社区
标题:
对于结构体不是明白,希望能列举简要的程序加以解释!
[打印本页]
作者:
FlyTrem
时间:
2014-3-16 12:39
标题:
对于结构体不是明白,希望能列举简要的程序加以解释!
本帖最后由 FlyTrem 于 2014-3-23 17:40 编辑
如下面的:
struct a
{
int m[3][5];
float f;
char s[20];
}y[4];
大括号后面是可以定义任何变量的吗?可以换行定义不?
如何访问结构a中结构变量y[2]的这个变量呢?
访问好像要要访问的变量.变量名?那个“.”是什么意思?
希望有人帮忙,在此谢谢了!
作者:
氯化钾
时间:
2014-3-16 13:51
朋友 你这么理解结构体 其实 他是一种自定义的类型 在一定程度上说 他与int float double 是一样的 是一个数据类型 而这个数据类型他是一个什么样子的呢? 是你自定义的 就如 你定义一个int 你就可以存储整数 而你定义的这个结构体中含有一个二维数组 一个float 一个字符串数组 关于第一个问题 你可以理解为 int y[4];其实是一个道理的 第二个问题 其实 不是结构体中访问y2 而是 y[2]是你这个结构体的一个变量 第三个问题 那个“.”其实是访问结构体的内容 如果你想知道y[2]变量汇总 FLOAT类型的 f的变量值 你就可以 floattemp = y[2].f ; temp就得到这个值了 这些都是我个人的理解 如果有不对的 还望指正
作者:
沙洲冷
时间:
2014-3-16 14:26
补充一点,结构体不可以换行定义的,一般定义结构体变量或者结构体数组都是紧跟着大括号后面的,想换行定义,可以这样写:struct a { int m[3][5]; float f; char s[20]; };struct a y[4];
作者:
z82454642
时间:
2014-3-16 15:19
结构体可以理解为一种数据类型
struct a {
int m[3][5];
float f;
char s[20];
};
复制代码
你可以理解a为一种类型
然后定义一个a类型的数组y[4]
struct a y[4];
表示数组y里面的包含4个 a 类型的元素
每个元素内包含3个变量 int m[3][5]; float f; char s[20];
y[2]代表的是数组y内的第2个元素,访问y[2]内的成员变量,用y[2].f/y[2].s/y[2].m
意思就是y[2]内有这几个成员变量,这几个变量属于y[2],要访问这几个变量,得先找到他y[2],才能访问他们
作者:
董月峰
时间:
2014-3-16 18:59
比如人这个结构体里面包含 四肢,脑袋 身体,然后四肢也可以写成结构体形式,里面有手和脚。
人.四肢就是人的四肢的意思,四肢.手就是四肢的手的意思
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2