2020春-C高级--第五周--内容大纲

结构和结构变量的定义

  • 关键字struct和它后面的结构名一起组成了一个新的数据类型名。结构的定义以分号结束,这是因为C语言中把结构的定义看作一条语句。
  • 在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。
  • 关键字struct和结构名student必须联合使用,因为它们合起来表示一个数据类型名。
  • 课本中的“一个结构类型变量所占的内存空间是其各个成员所占内存空间之和”,这个是不一定的,因为在分配存储时需要考虑到边界对齐存储的情况,例如下图,字符数组name虽然只有5个元素,但是因为边界对齐存储,name实际占用了8个字节,加上两个int的8个字节,总共是16个:

结构成员操作符.

  • 结构变量可使用.运算符引用各变量的结构成员
  • 只有相同结构类型的变量之间才可以直接赋值
  • 结构变量的名字并不是结构结构变量的地址,必须使用&运算符
  • 成员操作符.的优先级比&运算符的优先级高

结构数组

  • 结构数组是结构和数组的结合体,与普通数组不同之处在于每个数组元素都是一个结构类型的数据,包括多个成员项。
  • 选择排序法

结构指针

  • 结构指针就是指向结构类型变量的指针。
  • 结构指针的值实际上是结构变量的首地址,即第一个成员的地址。
  • 结构指针访问结构成员的两种方式:
    • 用*p访问结构成员
    • 用指向运算符->访问指针指向的结构成员
  • 使用结构指针作为函数参数只要传递一个地址值,提高参数传递的效率。

posted on 2020-03-29 11:18  niuxiaoxia  阅读(285)  评论(0编辑  收藏  举报

导航