第9章 【C语言】用户自己建立数据类型

9.1 定义和使用结构体变量

9.1.1 自己建立结构体类型

变量大多数是互相独立的、无内在联系的。C语言允许用户建立由不同类型数据组成的组合型的数据结构,它称为结构体。

在程序中可以自己建立一个结构体类型:

cs 复制代码
struct Student{
    int num;    //学号为整型
    char name[20];  //姓名为字符串
    char sex;       //性别为字符型
    int age;       //年龄为整型
    float score;    //成绩为实型
    char add[30];  //地址为字符串
};     //要有分号

9.1.2 定义结构体类型变量

1.先声明结构体类型,再定义该类型的变量

2.在声明类型的同时定义变量

这种定义方法一般形式为:

cs 复制代码
struct 结构体名{
    成员表列
}变量名表列;

3.不指定类型名而直接定义结构体类型变量

一般形式为:

cs 复制代码
struct{
    成员表列
}变量名表列;

9.1.3 结构体变量的初始化和引用

在定义结构体变量时,可以对它初始化,即赋予初始值。

(1)在定义结构体变量时可以对它的成员初始化。

(2)可以引用结构体变量中成员的值,引用方式为

结构体变量名.成员名

(3)如果成员本身又属一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。

(4)对结构体变量的成员可以像普通变量一样得进行各种运算。

(5)同类的结构体变量可以互相赋值。

(6)可以引用结构体变量成员的地址,也可以引用结构体变量的地址。

相关推荐
码农小河667 小时前
基于PHP的电商后台蜜罐系统
开发语言·php
starzy19907 小时前
深入理解Scala柯里化函数:函数链式变换
开发语言·scala
ShineWinsu8 小时前
对于Qt:QTreeWidget常见属性以及QTreeWidgetItem类的解析
开发语言·c++·qt·gui·客户端·多叉树·qtreewidget
落羽的落羽8 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
总要学点什么9 小时前
第108篇:三维特效-图片轨迹线效果——把贴图滚成一串箭头,想用它的本色反而整条消失
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
starzy199013 小时前
深入理解Scala隐式值:编译期自动装配
开发语言·后端·scala
布莱克60514 小时前
Swift 条件语句详解:从 if 到 switch 的完整指南
开发语言·ssh·swift·switch·条件语句·guard·if
吴可可12314 小时前
ActiveX调用WScript.Shell原理揭秘
开发语言
晴天的雨.99215 小时前
【C++】继承篇
java·开发语言·c++
SomeOtherTime15 小时前
第 1 讲:内存布局与所有权解剖——栈帧、胖指针与“移动/拷贝”在汇编层面的真实面目
java·开发语言·汇编