当前课程知识点:C语言程序设计 >  第11章 复杂数据类型 >  11.3 结构体变量的引用与初始化 >  结构体变量的引用与初始化

返回《C语言程序设计》慕课在线视频课程列表

结构体变量的引用与初始化在线视频

下一节:结构体数组

返回《C语言程序设计》慕课在线视频列表

结构体变量的引用与初始化课程教案、知识点、字幕

同学们好

在这一节中

我们将在和大家探讨

定义了结构体类型

结构体类型变量之后

结构体变量的使用和初始化的规则

请同学们牢记形式规则

多使用多练习

在定义了结构体变量以后

我们可以引用这个变量

但要遵守如下规则

1

不能企图通过输出结构体变量名

来达到输出结构体变量所有成员的值的目的

只能对结构体变量中的各个成员

分别进行输入和输出

例如已经定义了student1变量

如使用如下语句

企图用结构体变量名

输出所有成员的值 这是错误的

2

可以引用结构体变量中成员的值

引用方式为 结构体变量名

.成员名

例如如下语句可对结构体成员赋值

student1.num=10010; /*

假设已定义了student1为

student类型的结构体变量

则student1.num表示

student1变量中的num成员

即student1的num(学号)成员*/

3

.是成员运算符

它在所有的运算符中优先级最高

因此可以把student1

.num作为一个整体来看待

相当于一个变量

4

如果成员本身又属一个结构体类型

则要用若干个成员运算符

一级一级地找到最低的一级的成员

只能对最低级的成员进行赋值

或存取以及运算

如语句student1.num

赋值为10010;

是对结构体变量student1中的成员

num赋值为10010

如语句student1.birthday.month

赋值为6;

是对结构体变量student1中的成员

birthday中的成员month赋值为6.

注意不能用student1.birthday

来访问student1变量中的成员birthday

因为该成员本身就是一个结构体变量

5

对结构体变量的成员可以像

普通变量一样进行各种运算

根据其类型决定可以进行的运算

如以下实例

student2.score=student1.score;

sum=student1.score+student2.score;

student1.age++;

分别是各结构体成员的赋值运算

加法运算

自加运算

6

同类的结构体变量可以互相赋值

student1=student2;

假设

student1和student2

已定义为同类型的结构体变量

可直接执行赋值操作

7

可以引用结构体变量成员的地址

也可以引用结构体变量的地址

结构体变量的地址主要用作函数参数

传递结构体变量的地址

但不能用以下语句整体读入结构体变量

以下三个实例

第一句输入student1.num的值

与第二句输出结构体变量

student1的起始地址是正确的

而第三句想整体读入结构体变量是错误的

8

对结构体变量初始化

不是对结构体类型初始化

如以下实例

我们可以在定义变量时给其赋初值

进行初始化

在定义结构体变量时可以对其成员初始化

初始化列表是用花括号括起来的一些常量

这些常量依次赋给结构体变量中的各成员

今天的内容就讲到这里

在这一节中

我们将和大家探讨定义了结构体类型

定义结构体类型变量的方法之后

和大家研究

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

请同学们牢记形式规则

多使用多练习

为将来链表和树栈图的学习打下良好基础

同学们

我们下次课再见

C语言程序设计课程列表:

第1章 C语言程序设计预备知识

-计算思维与计算机

--计算思维与计算机

--计算思维与计算机

--计算思维和计算机

第2章 C语言程序设计基础

-2.1 程序设计语言的发展及其特点和应用

--程序设计语言的发展及其特点和应用

--程序设计语言的特点及发展

- 2.2 C语言程序的基本结构及编制C语言程序的基本步骤

-- C语言程序的基本结构及编制C语言程序的基本步骤

--C语言程序的结构和编制步骤

第3章 基本数据类型、运算符与表达式

-3.1 C语言的数据类型

--C语言的数据类型

--C语言的数据类型

-3.2 常量

--常量

--常量

-3.3 什么是变量

--什么是变量

--什么是变量

-3.4 如何进行算术运算

--如何进行算术运算

--如何进行算术运算

-3.5 赋值运算符和逗号运算符

--赋值运算符和逗号运算符

--赋值运算符和逗号运算符

-3.6 数据类型转换

--数据类型转换

--数据类型转换

第4章 基本输入输出和顺序程序设计

-4.1 格式化输出printf

--格式化输出printf

--格式化输出

-4.2 格式化输入scanf及字符数据的非格式化输入输出

--格式化输入scanf及字符数据的非格式化输入输出

--格式化输入

第5章 选择结构程序设计

-5.1 关系运算符和关系表达式

--关系运算符和关系表达式

--关系运算符和关系表达式

-5.2 逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

-5.3 条件运算符和条件表达式

--条件运算符和条件表达式

--条件运算符和条件表达式

-5.4 if语句

--if语句

--if语句

-5.5 switch语句

--switch语句

--switch语句

第6章 循环结构程序设计

-6.1 while语句

--while语句

--while语句

--do-while语句

-6.2 for语句

--for语句

--for语句

-6.3 循环的嵌套

--循环的嵌套

--循环的嵌套

-6.4 break语句和continue语句

--break语句和continue语句

--break和continue语句

第7章 数组

-7.1 一维数组的定义和引用

--一维数组的定义和引用

--一维数组的定义和引用

-7.2 一维数组的赋值

--一维数组的赋值

--一维数组的赋值

-7.3 二维数组的定义和引用

--二维数组的定义和引用

--二维数组的定义和引用

-7.4 二维数组的赋值

--二维数组的赋值

--二维数组的赋值

-7.5 字符串的本质

--字符串的本质

--字符串的本质

-7.6 字符串操作的常用函数

--字符串操作的常用函数

--字符串常用函数

-7.7 字符串数组

--字符串数组

--字符串数组

第8章 函数

-8.1 函数概述

--函数概述

--函数概述

-8.2 有参函数

--有参函数

--有参函数

-8.3 函数参数的传递方式

--函数参数的传递形式

--函数参数的传递方式

-8.4 变量的作用域和生存期

--变量的作用域和生存期

--变量的作用域和生存期

-8.5 变量的存储类型

--变量的存储类型

--变量的存储类型

-8.6 函数的嵌套和递归调用

--函数的嵌套和递归调用

--函数的嵌套和递归调用

-8.7 函数的作用域与封装

--函数的作用域与封装

--函数的作用域与封装

第9章 指针

-9.1 指针变量的概念(上)

--指针变量的概念(上)

--指针变量的概念(上)

-9.2 指针变量的概念(下)

--指针变量的概念(下)

--指针变量的概念(下)

-9.3 指向一维数组的指针变量

--指向一维数组的指针变量

--指向一维数组的指针变量

-9.4 指向二维数组的指针变量(上)

--指向二维数组的指针变量

--指向二维数组的指针变量(上)

-9.5 指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

-9.6 动态内存分配

--动态内存分配

--动态内存分配

第10章 预处理命令

-10.1 编译预处理

--编译预处理

第11章 复杂数据类型

-11.1 用户自己建立数据类型

--用户自己建立数据类型

--用户自己建立数据类型

-11.2 定义结构体类型变量

--定义结构体类型变量

--定义结构体类型变量

-11.3 结构体变量的引用与初始化

--结构体变量的引用与初始化

-11.4 结构体数组

--结构体数组

--结构体数组

-11.5 指向结构体类型数据的指针

--指向结构体类型数据的指针

--指向结构体类型数据的指针

第12章 文件

-12.1 文件的基本概念和文件指针

--文件的基本概念和文件指针

--文件的基本概念和文件指针

-12,2 文件的打开和关闭

--文件的打开和关闭

--文件的打开和关闭

-12.3 文本文件读写

--文本文件读写

--文本文件读写

-12.4 二进制文件读写

--二进制文件读写

--二进制文件读写

结构体变量的引用与初始化笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。