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.hqwc.cn/news/695834.html

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

相关文章

安全设备篇——日志审计系统

日志审计是企业网络安全建设中重要的一环。 其实日志审计在结构上和部分原理上和态势感知很相近&#xff0c;都进行数据采集&#xff0c;都需要强调规则&#xff0c;老规矩先放百度解释&#xff1a; “日志审计系统是用于全面收集企业IT系统中常见的安全设备、网络设备、数据库…

微信小程序的设计与实现

微信小程序的设计与实现 目录 1.系统简述&#xff1a; 2.开发工具及相关技术&#xff1a; 2.1 HTML、WXSS、JAVASCRIPT技术 2.2 Vanilla框架 2.3 uni-app框架 2.4 MYSQL数据库 3.工程结构及其说明&#xff1a; 4.主要功能展示 4.1登录 4.2 注册 4.3 首页…

怎么把图片大小缩小到1M?教你几招图片你压缩

当我们的图片数量越来越多的时候&#xff0c;占用的内存也就越来越多&#xff0c;时间长了之后&#xff0c;会导致我们空间不足或者设备比较卡顿&#xff0c;为了缓解这个问题&#xff0c;很多人会选择去删除一些不必要的图片文件&#xff0c;其实还有个方法就是利用图片压缩的…

视频号小店怎么做?五个步骤教会你,快来学习吧!

大家好&#xff0c;我是电商糖果 今年关于视频号小店真的很火&#xff0c;不少朋友都找糖果咨询过关于做店的方法。 糖果做小店已经快两年了&#xff0c;对小店运营方面可以说比较了解。 这里就把小店的整体做店流程分为五步&#xff0c;一步步讲解给大家。 第一步&#xff…

js图片回显的方法

直接上代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body>// HTML部分<input type"file" id"fileInput"><button onclick"show…

【重装系统】U盘制作软件——Rufus

Rufus 是一款格式化和创建 USB 启动盘的辅助工具。 本软件适用于以下场景&#xff1a; 需要将可引导 ISO (Windows、Linux、UEFI 等) 刻录到 USB 安装媒介的情况 需要处理未安装操作系统的设备的情况 需要在 DOS 环境下刷写 BIOS 或其他固件的情况 需要运行低级工具的情况 官…

二叉树之左叶子的和

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

Android Studio开发之路(十)app中使用aar以及报错记录

书接上文&#xff1a;Android Studio开发之路&#xff08;九&#xff09;创建android library以及生成aar文件 五、app中使用aar文件的方法 先复制一下上面生成的aar文件。然后在你要添加到的app左上角选择“project”模式&#xff0c;然后找到libs文件夹&#xff0c;点击右键…

量化软件QMT如何获取板块成分股?内附免费开通方法

获取板块成分股列表 调用方法 from xtquant import xtdata xtdata.get_stock_list_in_sector(sector_name)参数 名称类型描述sector_namestring版块名称 返回 list 示例 from xtquant import xtdata # 获取沪深A股全部股票的代码 xtdata.get_stock_list_in_sector("…

电影《间谍过家家 大号:白》观后感

上周看了电影《间谍过家家 大号&#xff1a;白》&#xff0c;看这部电影之前&#xff0c;一直听说动漫《间谍过家家》挺不错的&#xff0c;但是一直都没有看&#xff0c;看完电影后&#xff0c;自己果断补完了这部动漫&#xff0c;大致了解前因后&#xff0c;这部电影&#xff…

【问题解决】编译大华的SDK版本时提示:error: unknown type name ‘bool‘

在linux下编译大华官网下载的SDK时&#xff0c;编译竟然报错了&#xff0c;提示未知的类型名&#xff1a;‘bool’, 因为在C语言标准(C89)没有定义布尔类型&#xff0c;所以会报错。 而C99提供了一个头文件<stdbool.h>定义了bool&#xff0c;true代表1&#xff0c;false代…

揭秘APP广告变现:轻松赚取收益的秘密武器,你还在等什么?

在移动互联网时代&#xff0c;APP广告变现已成为许多开发者和公司获取收益的重要方式。它如同一把秘密武器&#xff0c;帮助那些掌握了其使用技巧的人轻松赚取收益。那么&#xff0c;究竟什么是APP广告变现&#xff1f;又如何通过它轻松赚取收益呢&#xff1f;接下来&#xff0…