当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年软件水平考试程序员之程序设计知识要点(24)
发布时间:2012/5/14 9:41:08 来源:城市网学院 编辑:ziteng
  -
  7.1 结构型和结构变量
  1.结构型
  结构型是由若干自力意义成员组成的复杂数据。界说一个结构型的一般形式为
  struct 结构型名{
  数据类型1 成员1名;
  数据类型2 成员2名;
  ……
  数据类型n 成员n名;
  };
  其中关头字“struct”引出结构型的界说。用花括号括住结构型的成员声名表,指明组成此结构型全数成员的数据类型和名称。结构型的成员也称为域。如某个系统的学生数据实体用如下结构型来描述:
  struct stdType {
  int num;/*学号*/
  char * name;/*姓名,许可姓名字符串长度可变,按需要申请*/
  char sex;/*性别‘M' 暗示男生,'F’暗示女生*/
  int age;/*春秋*/
  int score;/*成就*/
  char *addr; /*家庭地址,许可地址字符串长度可变,按需要申请*/
  } ;
  上例界说结构型struct stdType,有六个成员。现实上,凡是相关的若干瘦据对象都可组合成一个结构,在一个结构名下进行打点。
  结组成员的数据类型可所以任何类型,搜罗前面界说的其它结构型,可是结构不能包含自身,而许可结构中可有这样的指针成员,指向如同界说一样的结构。
  2.结构变量
  结构型的变量就是结构变量,轨范要使用结构数据,需界说结构变量。结构变量也简称结构。界说结构变量有以下几种分歧的体例。
  (1)先界说结构型,再界说结构变量。如操作前面已界说的结构型struct stdType,以下代码
  struct stdType st1,st2,stdArray[200]
  界说结构变量st1、st2和结构数组stdArray。
  (2) 在界说结构型时,同时界说结构变量。如代码
  struct point {/*某绘图轨范的坐标类型*/
  int x;
  int y;
  } p1,p2;
  界说struct point型变量 p1、p2。
  (3) 在界说无名结构型时,同时界说结构变量。如某种形式的结构型只是一次性界说几个变量,可以省略结构型名,直接界说结构变量。如由日、月、年组成的日期结构变量为:
  struct
  int day; /*日*/
  int month;/*月*/
  int year;/*年*/
  } date1,date2;/*界说两个日期变量datel和date2*/
  3.结构变量初始化
  在界说结构变量时,可同时给它置初值,称为结构变量初始化。结构变量初始化时,要按其结构型界说中的成员挨次一一给出各成员的初值。如
  struct point2 /* 声名绘图轨范的坐标类型*/
  int x;
  int y;
  } p3={ 20,50};
  结构变量初始化时,对初值表达式的要求与数组初始化对初值表达式的要求不异。
  4.结构变量的引用
  结构变量界说后,就可以用结构变量的名引用结构。 ANSI C还许可不异类型的结构变量彼此赋值。
  5.结构变量成员的引用
  引用结构变量成员的标识表记标帜形式为:
  结构变量名.成员名
  其中“.” 称为成员运算符。例如,datel.year引用结构变量datel的year成员。因该成员的类型为int型的,可以对它施行任何int型变量可施行的运算。例如,赋质ё偎算datel.year=2000。如结构变量的某成员又是结构,要引用其成员的成员,则继续用成员运算符‘.’接上更内居的成员名。如结构变量的某成员是数组,要引用其成员的元素,则继续用数组元素的下标引用结组成员的元素。
  结构有多个成员,凡是结组成员挨次地被放置在结构变量的内存决中,结构变量的地址是结构所占内存的起头地址,写成
  & 结构变量
  而结组成员的地址写成
  & 结构变量.成员名
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved