天天看点

c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...

3.1数组

同类型、同性质、按顺序存放的一组数据集合,易于批量处理。

3.1.1一维数组
  • 定义
int 
           

1.数组名为常量,指向首地址,由系统指定。

2.数组长度为整型常量,但不能为0

3.上例取值image[0]-image[255],取值可以修改。

  • 初始化
int 
           
  • 输入
for
           
  • 输出
for
           
3.1.2二维数组
  • 定义
int 
           

1.相比一维数组,二维数组按行存储,一行存完再存第二行,两个数字代表[行][列]。

  • 初始化
int 
           
  • 输入
for
           
  • 输出
for
           
3.1.3字符数组(字符串)
  • 定义
char 
           

1.系统会在字符串结尾自动补'0',数组长度N,占用内存N+1。

2.结束循环条件,实数数组不满足 i<N,字符数组不满足 str[i]!='0'。

  • 初始化
char 
           
  • 输入
gets
           
  • 输出
puts
           

==== 调用以下函数,声明头文件

<string.h>

====

查询 
           
3.1.4数组应用
  • 选择法排序 (一维数组)
例:随机产生
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  • 冒泡法排序 (一维数组)
例:随机产生
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  • 插入与删除 (一维数组)
#include 
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  • 二分法查找 (一维数组)
#include 
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  • 杨辉三角(二维数组)
#include 
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  • 矩阵转置(二维数组)
#include 
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...

3.2结构体

一种自定义的数据类型,用来描述 逻辑上有关联 但类型、性质可能不同 的数据集合。

是由基本数据类型构造的复杂数据类型。

3.2.1结构类型声明
struct 
           

1.结构类型声明可以嵌套定义

2.结构变量可以像普通变量一样使用。

3.结构体内变量名,可以和结构外的变量名相同,不代表同一对象。

3.2.2结构变量定义
  • 声明时直接定义
struct 
           
  • 先声明再定义
struct 
           
  • 无类型名变量
struct 
           
3.2.3结构变量访问
struct 
           
  • 通过变量名访问
p1
           
  • 通过指针访问
p
           

1.访问结构成员:输入、输出

2.访问整体结构:利用已知结构变量向未知结构变量赋值、做函数参数

3.嵌套访问,要逐级访问,运算规则参考那一级的运算规则。

3.2.4初始化
  • 结构变量初始化
struct 
           
  • 结构数组初始化
struct 
           
3.2.5应用
  • 学生成绩排序(结构数组)
#include 
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
  • 结构类型函数:24计时转变为12计时
#include 
           
c++ new一个结构体_「C/C++」构造类型及应用:数组、结构体、共用体、枚举类型...
3.2.6单链表

一种数据结构,由数据和指针组成的结构体。用来表示物理存储非连续、非顺序的数组。

相比数组,链表动态存储,优点是便于插入、删除、动态扩充表大小,缺点是不能按下标存取任意元素。

  • 声明
struct 
           
  • 创建 (输入)
/*创建n结点链表*/
           
  • 遍历 (输出)
/*遍历n结点链表*/
           
  • 查找 (按序查找)
/*按序查找第i元素*/
           
  • 插入 (有序列表插入数据仍有序)
/*按序插入数据(升序)*/
           
  • 删除
/*删除某数据*/
           

5.3 共用体 union

5.4 枚举类型 enum

继续阅读