01-02-2

1、typedef的使用

a.语法

typedef 原名 别名;。
​
typedef struct student {int num;char name[20];char sex;
}stu,*pstu;//stu相当于struct student这个类型,*pstu相当于struct student *

别名的理解方法:若是字母前面有符号,类似于*,将*直接放到struct 结构体名后面即可,此时再将形成的结果:struct 结构体名 *,与最后的字母划等号即可。此时的字母就是对应类型的别名。后面就可以使用该别名定义变量。

起别名的目的是为了实现:代码即注释。

typedef重命名的规则:重新起的名字后来出现,所以放在后面。

使用的代码

//给结构体类型起别名,叫stu,给结构体指针类型起别名:pstu
typedef struct student {int num;char name[20];char sex;
}stu,*pstu;//stu相当于struct student这个类型,*pstu相当于struct student *
typedef int INTEGER;
int main()
{stu s = { 1001,"wangle",'M' };//等价于struct student s = { 1001,"wangle",'M' }pstu p;//等价于struct student *p;等价于stu*p;INTEGER i = 10;p = &s;printf("i=%d,p->num=%d\n", i, p->num);//p是结构体指针return 0;
}

2、C++中的引用

a.语法:

在传递时,传递变量名。

在接收时,格式为:变量类型 引用符号(&) 形参名。

此时在子函数中,改变此形参值时,也会影响外部函数的变量 。

使用的代码

#include<stdio.h>
void modifynum(int& b)//形参接收
{b = b + 1;
}
int main()
{int a = 10;modifynum(a);//实参传递printf("a=%d\n", a);return 0;
}

注意:指针的类型是:指向空间类型 *

一旦引用,则形参与实参就是同一个变量,互相影响。

使用的代码

#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>
void modifynum(int& b)//形参接收
{b = b + 1;
}
void modify_pointer(int*& p)//指针的引用
{p =(int*)malloc(20);p[0] = 5;
}
int main()
{int a = 10;modifynum(a);//实参传递printf("a=%d\n", a);int* p = NULL;modify_pointer(p);//指针的传递printf("p[0]=%d", p[0]);return 0;
}

3、逻辑结构与存储结构

a.逻辑结构

集合、线性、树形、图形结构

b.存储结构

顺序、链式、索引、散列存储。

b-1:顺序存储

数组属于顺序存储。

存储元素一个按着一个,对应的地址下标也是逐步递增的。

优点:

可以实现随机存取,每个元素占用最少空间。(想取哪个元素,通过对应下标访问即可)

缺点:

只能使用整块的存储单元,会产生较多的碎片。

b-2:链式存储

每个数据单元是一个结构体,结构体分为两部分,一个存储具体的数据,另一个存储后面一个数据单元

对应的地址。

优点:

充分利用所有的存储单元,不会出现碎片现象

缺点:

需要额外存储空间存放下一节点的指针,只能实现顺序存取。(需要通过前一个节点中的地址,才能访

问到下一节点,即不能直接访问到所需的节点)

4、时间复杂度

a.算法

定义:

对特定问题求解步骤的描述

特性:

有穷、确定、可行、输入、输出

b.时间复杂度

时间复杂度是通过运行次数来反映。格式为:O(f(n))。这里的f(n)就是运行次数的函数

示例一:

示例二:

示例三:

示例四:

示例五:

示例六:

例题

5、空间复杂度

定义

空间复杂度S(n):指算法运算过程中使用的辅助空间的大小

算法原地工作:指算法所需的辅助空间是常量,即为O(1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SOUI4里使用字体回退

在新版本的SOUI里render-skia导出了一个新的函数用于字体回退功能。Render_Skia_SetFontFallback 函数原型如下&#xff1a; EXTERN_C void SOUI_COM_API Render_Skia_SetFontFallback(FontFallback fontFallback);因为我的工程是使用动态库&#xff0c;这里可以直接获取到这…

如何用微信小程序实现远程控制4路控制器/断路器

如何用微信小程序实现远程控制4路控制器/断路器呢&#xff1f; 本文描述了使用微信小程序调用HTTP接口&#xff0c;实现控制4路控制器/断路器&#xff0c;支持4路输出&#xff0c;均可独立控制&#xff0c;可接入各种电器。 可选用产品&#xff1a;可根据实际场景需求&#xf…

内容与图像一对多问题解决

场景复现 分析&#xff1a; 其实这是两给表&#xff0c;一个内容表&#xff0c;一个图片表&#xff0c;一对多的关系。 解决思路: 1. 先上传图片拿到图片的List集合ids&#xff0c;返回值是集合的ids&#xff0c;给到前端 2. 再添加内容表的数据生成了id&#xff0c;遍历查…

佳博打印机如何设置打印模式为热敏模式

1、打开电脑搜索框&#xff0c;如下图输入打印机: 2、点击打印机设置&#xff0c;如下图&#xff1a; 3、点击打印机首选项&#xff0c;如下图&#xff1a; 4、点击下图“卷”进行设置 也可对打印机间距高度进行调整

【深度学习】探秘PSD:合成到真实去雾框架的实例解析

揭秘PSD&#xff1a;合成到真实去雾框架的革新 一、PSD框架的提出背景二、PSD框架的原理与网络结构三、PSD框架的实现与代码示例四、结论与展望 在图像处理领域&#xff0c;去雾技术一直是一个备受关注的研究热点。然而&#xff0c;传统的去雾方法在面对真实世界的模糊图像时&a…

腐烂的橘子

代码实现&#xff1a; int orangesRotting(int **grid, int gridRowSize, int *gridColSizes) {int good 0, bad 0, t 0;for (int i 0; i < gridRowSize; i) {for (int j 0; j < gridColSizes[0]; j) {if (grid[i][j] 1) { // 记录好橘子数good;} else if (grid[i…

ABB机器人程序类型介绍

ABB机器人编程语言为rapid语言&#xff0c;在例行程序中可分为三类&#xff1a;普通程序、功能程序和中断程序。例如新建一个例行程序&#xff0c;会选择一个程序类型&#xff0c;三种类型的区别如下&#xff1a; 1、普通程序&#xff08;procedures&#xff09;&#xff1a;常…

代码大师的工具箱:现代软件开发利器

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

Ubuntu 超级终端Terminator常用使用技巧

Ubuntu 超级终端Terminator常用使用技巧 Terminator 是一款功能强大的终端模拟器&#xff0c;它特别适合于需要同时管理多个终端会话的用户。以下是如何在 Ubuntu 上使用 Terminator 的详细指南&#xff1a; 安装 Terminator 如果你的系统尚未安装 Terminator&#xff0c;你…

anaconda 环境配置

官方网站下载地址&#xff1a; https://www.anaconda.com/download/ 国内清华镜像下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 配置国内环境: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ …

人工智能生成图像的兴起:区分事实与虚构

人工智能生成图像的兴起&#xff1a;区分事实与虚构 概述 在人工智能 (AI) 已融入我们日常生活的时代&#xff0c;人工智能生成图像的快速发展引发了人们对数字内容真实性的担忧。最近&#xff0c;人工智能生成的图像甚至欺骗了最敏锐的眼睛&#xff0c;这引发了人们对批判性…

什么是抽样调查

抽样调查是政府统计工作和市场调查中普遍采用的方法&#xff0c;我国《统计法》中明确规定&#xff1a;搜集、整理统计资料&#xff0c;应当以周期性普查为基础&#xff0c;以经常性抽样调查为主体&#xff0c;综合运用全面调查、重点调查等方法&#xff0c;并充分利用行政记录…

黑盒测试中的边界值分析

黑盒测试是一种基于需求和规格的测试方法&#xff0c;它主要关注软件系统输出的正确性和完整性&#xff0c;而不考虑内部代码的实现方式。在黑盒测试中&#xff0c;边界值分析是一种重要的测试技术&#xff0c;它可以帮助测试人员有效地发现输入和输出的问题。本文将从什么是边…

探索未知:风靡硅谷开发者的 Unstructured Data Meetup 即将登陆中国

“最硅谷”的 Unstructured Data Meetup 即将来袭&#xff01; 众所周知&#xff0c;AI 三要素包括&#xff1a;算力、算法和数据。数据的价值愈发凸显&#xff0c;而其中非结构化数据更是备受关注。IDC 预测&#xff0c;到 2025 年&#xff0c;全球数据总量中将有超过 80% 的数…

基于SSM的宠物领养系统的设计与实现

摘要 在当前社会&#xff0c;随着人们生活水平的提高&#xff0c;越来越多的家庭和个人开始养宠物。然而&#xff0c;由于各种原因&#xff0c;一些宠物被遗弃或需要救助&#xff0c;同时也有许多潜在的宠物领养者希望通过正规途径领养宠物。本次设计为宠物救助组织、寻找新家…

蓝桥杯2024【第十五届省赛】Python B (78分题解)

第三年蓝球杯&#xff0c;感觉题目比往年简单多了。题量合适够我这种菜鸟解答... ... 大概可能有45分&#xff0c;希望进省一大三最后i一次机会了55555 进省一了耶耶耶 试题 A: 穿越时空之门&#xff08;满分&#xff09; 本题总分&#xff1a;5 分 【问题描述】 随着 202…

Python深度学习基于Tensorflow(7)视觉处理基础

文章目录 视觉基础图像基础卷积层&#xff1a;图像的中全连接层的优化卷积核tf.keras中的卷积函数池化层 现代经典网络DenseNet 数据增强 图像的本质是一个矩阵&#xff0c; 矩阵中的一个点就是一个像素&#xff0c;如果像素大小为 1000 1000 1000 \times 1000 10001000&…

Scala、Spark SQL 常用方法

目录 数组常用方法 列表操作常用方法 Scala中常用的查看列表元素的方法有head、init、last、tail和take()。 合并两个列表还可以使用concat()方法。 集合操作常用方法 map()方法 foreach()方法 filter()方法 flatten()方法 groupBy()方法 ​编辑 从内存中读取数据创建…

二叉树之左叶子的和

题目&#xff1a; 给定二叉树的根节点 root &#xff0c;返回所有左叶子之和。 示例 1&#xff1a; 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中&#xff0c;有两个左叶子&#xff0c;分别是 9 和 15&#xff0c;所以返回 24示例 2: 输入: root […

时间瑾眼中的IT行业现状与未来趋势

文章目录 技术革新与行业应用IT行业的人才培养与教育人工智能与机器学习的演进数据安全与隐私保护可持续发展与绿色技术社会责任与道德规范 随着技术的不断进步&#xff0c;IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链…