IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言学习小结(9)——结构 -> 正文阅读

[C++知识库]C语言学习小结(9)——结构

导读

什么是结构?结构的作用。如何使用结构?

结构

作用

用一个整体来表达多个数据

struct date//struct是关键字,date是结构类型
{
int month
int day
int year//这三个是date里的成员,结构成员可以是不同的类型
};//不要漏了;

结构声明

声明的位置

在函数内部声明的结构只能在函数内部使用,不能在其他函数使用,故一般在函数外声明结构

声明的方式

struct point//数据类型,相当于int、double之类的
{
int x;
int y;
};
struct point p1,p2//p1,p2(p1,p2是名字)都是point,里面有x,y的值
struct
{
int x;
int y;
}p1,p2;//p1,p2是无名结构,里面有x,y
struct point
{
int x;
int y;
}p1,p2;//p1,p2是point,里面有x,y

结构变量

初始化

struct date today={07312014}//today是结构变量struct date是结构声明
struct date thismonth={.month=7,.year=2014}//month为7,year为2014,day没有说,所以day为0//thismonth是结构变量struct date是结构声明

结构用.运算符及其名字来访问其成员
注:.运算符的左边应为结构变量,而不是结构类型
要访问整个结构直接用结构变量的名字

结构运算

对于整个结构,可以做赋值,取地址,也可以给函数传地址

赋值

p1=(struct point){5,10};//p1.x=5,p1.y=10
p1=p2//p1.x=p2.x,p1.y=p2.y

地址

和数组不同,结构必须使用&运算符

struct date *pDate=&today

结构体与函数

结构作为参数

结构可以作为函数的参数
函数也可以返回一个数组
输入:不能用scanf一次性输入一个数组
如果用函数来进行输入,因函数中的那个结构不是函数外的那个结构,所以,函数不能直接输入,但是,函数可以将输入的结构作为返回值返回给函数外的结构(前面的类型为struct ……)

结构指针作为参数

指向结构的指针

用->表示指针所指的结构变量中的成员

struct date
{
int month;
int day;
int year;
}myday;
struct date *p=&myday
*p.month
p->month//两着等价

结构体数组

与整型,字符型类似,结构体也有数组
在初始化时需要多个{},最外面一个是数组的,里面的每一个对应数组中每个结构

struct time testtimes[5]={{11,59,59},{12,0,0},{1,29,59},{23,59,59},{19,12,27}}

同理结构中也可以放结构

struct dateAndTime{
struct date sdate
struct time stime
}

嵌套
因为结构里可以放结构,所以在调用结构中的结构时需要两个.运算符
如果有指针,也可以使用->运算符与.运算符嵌套使用

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-25 23:05:06  更:2022-09-25 23:06:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 14:51:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码