A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 FlyTrem 于 2014-3-23 17:40 编辑

如下面的:
struct a  

     {  

          int m[3][5];  

          float f;  

          char s[20];  

     }y[4];  

大括号后面是可以定义任何变量的吗?可以换行定义不?
如何访问结构a中结构变量y[2]的这个变量呢?
访问好像要要访问的变量.变量名?那个“.”是什么意思?

   希望有人帮忙,在此谢谢了!   

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

4 个回复

倒序浏览
朋友  你这么理解结构体 其实 他是一种自定义的类型 在一定程度上说 他与int float double 是一样的 是一个数据类型 而这个数据类型他是一个什么样子的呢? 是你自定义的 就如 你定义一个int  你就可以存储整数 而你定义的这个结构体中含有一个二维数组 一个float 一个字符串数组 关于第一个问题 你可以理解为  int y[4];其实是一个道理的 第二个问题 其实 不是结构体中访问y2 而是 y[2]是你这个结构体的一个变量 第三个问题 那个“.”其实是访问结构体的内容 如果你想知道y[2]变量汇总 FLOAT类型的 f的变量值  你就可以  floattemp = y[2].f ; temp就得到这个值了 这些都是我个人的理解 如果有不对的 还望指正

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
沙洲冷 来自手机 中级黑马 2014-3-16 14:26:09
藤椅
补充一点,结构体不可以换行定义的,一般定义结构体变量或者结构体数组都是紧跟着大括号后面的,想换行定义,可以这样写:struct a         {              int m[3][5];              float f;              char s[20];         };struct a y[4];

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
结构体可以理解为一种数据类型
  1. struct a {  
  2.     int m[3][5];  
  3.     float f;  
  4.     char s[20];  
  5. };
复制代码

你可以理解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],才能访问他们

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
比如人这个结构体里面包含 四肢,脑袋 身体,然后四肢也可以写成结构体形式,里面有手和脚。
人.四肢就是人的四肢的意思,四肢.手就是四肢的手的意思
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马