结构和结构变量的定义
- 关键字struct和它后面的结构名一起组成了一个新的数据类型名。结构的定义以分号结束,这是因为C语言中把结构的定义看作一条语句。
- 在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。
- 关键字struct和结构名student必须联合使用,因为它们合起来表示一个数据类型名。
- 课本中的“一个结构类型变量所占的内存空间是其各个成员所占内存空间之和”,这个是不一定的,因为在分配存储时需要考虑到边界对齐存储的情况,例如下图,字符数组name虽然只有5个元素,但是因为边界对齐存储,name实际占用了8个字节,加上两个int的8个字节,总共是16个:
结构成员操作符.
- 结构变量可使用.运算符引用各变量的结构成员
- 只有相同结构类型的变量之间才可以直接赋值
- 结构变量的名字并不是结构结构变量的地址,必须使用&运算符
- 成员操作符.的优先级比&运算符的优先级高
结构数组
- 结构数组是结构和数组的结合体,与普通数组不同之处在于每个数组元素都是一个结构类型的数据,包括多个成员项。
- 选择排序法
结构指针
- 结构指针就是指向结构类型变量的指针。
- 结构指针的值实际上是结构变量的首地址,即第一个成员的地址。
- 结构指针访问结构成员的两种方式:
- 用*p访问结构成员
- 用指向运算符->访问指针指向的结构成员
- 使用结构指针作为函数参数只要传递一个地址值,提高参数传递的效率。
原文地址:https://www.cnblogs.com/c-programing-language/p/12567289.html
时间: 2024-11-13 08:52:56