01-02-2

news2024/11/28 10:43:37

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.coloradmin.cn/o/1670780.html

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

相关文章

uniapp编译H5解决ios的border-radius失效问题

1.解决方案 .card-itemA {width: 650rpx;height: 326rpx;box-shadow: 0rpx 0rpx 30rpx 14rpx rgba(236, 235, 236, 0.25);background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);border-radius: 60rpx;overflow: hidden;// 兼容ios的圆角问题transfor…

python实现星号打印出金字塔

#编程实现下列图形的打印 a input() for i in range(int(a)//21): num * * ((i1)*2-1) print(num.center(int(a), )) 编译后通过。输入20后得到下面的星号金字塔

Pikachu 靶场 RCE 通关解析

前言 Pikachu靶场是一种常见的网络安全训练平台&#xff0c;用于模拟真实世界中的网络攻击和防御场景。它提供了一系列的实验室环境&#xff0c;供安全专业人士、学生和爱好者练习和测试他们的技能。 Pikachu靶场的目的是帮助用户了解和掌握网络攻击的原理和技术&#xff0c;…

31万奖金池等你挑战!IJCAI 2024 第九届“信也科技杯”全球AI算法大赛正式开赛!聚焦AI尖端赛题!

赛事概况 随着语音合成技术的不断进步,合成语音与真实语音之间的界限变得模糊,这不仅对数据安全构成威胁,也对科技伦理提出了新的要求。 第九届“信也科技杯”全球AI算法大赛聚焦于语音深度鉴伪识别领域,旨在激发全球算法爱好者和专家的创新潜力,共同应对由人工智能技术发展带来…

Bean的生命周期与循环依赖

如有不对的地方&#xff0c;还请大佬指正 Bean生命周期 扫描类 得到 BeanDefinition(包含bean的class等属性值) 后在BeanFactoryPostProcessor对bean实例化之前对Bean的元数据进行操作&#xff0c;修改Bean的属性值、添加自定义的BeanDefinition 实例化非懒加载单例bean1. …

Android 系统省电软件分析

1、硬件耗电 主要有&#xff1a; 1、屏幕 2、CPU 3、WLAN 4、感应器 5、GPS(目前我们没有) 电量其实是目前手持设备最宝贵的资源之一&#xff0c;大多数设备都需要不断的充电来维持继续使用。不幸的是&#xff0c;对于开发者来说&#xff0c;电量优化是他们最后才会考虑的的事情…

【Linux】自动化构建工具make/Makefile和git介绍

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/qinjh_/category_12625432.html 目录 前言 Linux项目自动化构建工具-make/Makefile 举例 .PHONY 常见符号 依赖关系…

如何把root账号的文件修改为tank账号

linux系统 以当前用户命令创建的目录都是root的用户并且是只读的&#xff1a; 用优盘拷贝的文件及文件夹的权限是&#xff1a; 解决方案是&#xff1a;把root账号的文件修改为tank账号 在Linux系统中&#xff0c;如果您需要将属于root用户的文件或目录的所有权更改到另一个用…

【数据库】docker搭建mysql8一主两从节点,配置proxysql读写分离

docker搭建mysql8一主两从节点&#xff0c;配置proxysql读写分离 一、docker 搭建 mysql8 一主两从节点1.1 相关配置文件与docker启动1.2 半同步复制1.3 主从同步异常处理 二、mysql 中间件 ProxySql 配置读写分离2.1 在mysql服务里创建给proxySQL访问的用户2.2 安装ProxySql及…

Flask 通过SQLAlchemy连接mySQL实现一个实用的用户管理功能

Flask 通过SQLAlchemy连接mySQL实现一个实用的用户管理功能 安装配置 首先确保已经安装如下程序&#xff1a; flask&#xff1a;用于构建web应用程序。flask-sqlalchemy&#xff1a;用于在 Flask 中连接 MySQL 数据库&#xff0c;通过pip install flask-sqlalchemy安装。pym…

2024第二届智慧教育和人类发展国际会议(ICSEHD2024)

2024第二届智慧教育和人类发展国际会议(ICSEHD2024) 会议简介 智慧教育对于提升教育质量、促进教育公平、推动教育现代化和数字化转型、培养创新人才以及推动教育理论的发展都具有重要的意义&#xff0c;对人类发展产生着深远的影响&#xff0c;人类发展是智慧教育的最终目的…

Weblogic 任意文件上传漏洞(CVE-2018-2894)

1 漏洞描述 CVE-2018-2894漏洞存在于Oracle WebLogic Server的Web服务测试页面&#xff08;Web Service Test Page&#xff09;中。这个页面允许用户测试Web服务的功能&#xff0c;但在某些版本中&#xff0c;它包含了一个未经授权的文件上传功能。攻击者可以利用这个漏洞&…

uni-app跨端兼容

1.样式兼容 小程序端不支持*选择器&#xff0c;可以使用&#xff08;view,text&#xff09; 页面视口差异(tabar页、普通页) H5端默认开始scoped 例如骨架屏样式出现问题&#xff0c;需要将之前的样式拷贝到骨架屏中 提示&#xff1a;H5端是单页面应用&#xff0c;scoped隔离…

实训八:使用jQuery技术实现企业信息展示系统的相关功能

实训八:使用jQuery技术实现企业信息展示系统的相关功能 1.题目 使用jQuery技术实现企业信息展示系统的相关功能。 2.目的 (1)掌握jQuery的基本知识。 (2)掌握jQuery的应用方法。 (3)进一步理解Ajax程序的设计方法。 (4)会利用所学知识设计简单的应用程序。 3.内容 用jQuery技术…

轴承制造企业“数智化”突破口

轴承是当代机械设备中一种重要零部件。它的主要功能是支撑机械旋转体&#xff0c;降低其运动过程中的摩擦系数&#xff0c;并保证其回转精度。轴承是工业核心基础零部件&#xff0c;对国民经济发展和国防建设起着重要的支撑作用。 轴承企业普遍采用以销定产的经营模式&#xf…

基于TRIZ理论为可穿戴设备创造更好的用户体验

从智能手表到健康监测器&#xff0c;这些小巧而强大的设备正逐渐改变着我们的生活方式。然而&#xff0c;用户体验的优劣直接影响着可穿戴设备的市场接受度和用户黏性。在这样的背景下&#xff0c;基于TRIZ理论&#xff08;发明问题解决理论&#xff09;的创新思维和方法论&…

抖音直播视频怎么录屏

要录制手机直播视频&#xff0c;您需要按照以下步骤进行操作&#xff1a; 1. 打开录屏软件&#xff1a;首先&#xff0c;在您的手机中打开您已经安装好的录屏软件。不同的录屏软件设置方式不同&#xff0c;请根据实际情况进行操作。 2. 调整设置&#xff1a;根据录屏软件的使用…

【深度学习】实验3 特征处理

特征处理 python 版本 3.7 scikit-learn 版本 1.0.2 1.标准化 from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import MinMaxScaler from matplotlib import gridspec import numpy as np import matplotlib.pyplot as plt cps np.random.…

【生信技能树】拿到表达矩阵之后,如何使用ggplot2绘图系统绘制箱线图?

拿到表达矩阵之后&#xff0c;如何使用ggplot2绘图系统绘制箱线图&#xff1f; 目录 预备知识 绘制箱线图示例 预备知识 1.pivot_longer函数 pivot_longer 是tidyr包中的一个函数&#xff0c;用于将数据框&#xff08;data frame&#xff09;从宽格式转换为长格式。在宽格…

AI游戏外挂为何违法?

尊敬的读者们&#xff0c;大家好&#xff01;今天我想和大家探讨一个备受争议的话题——AI游戏外挂的合法性。近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI外挂逐渐成为游戏领域的一大毒瘤。那么&#xff0c;为什么AI游戏外挂会被视为违法行为呢&#xff1f;本…