c语言:指针(3)+冒泡排序

C语言指针个人理解 指针通俗来讲就是地址,指针就是地址,地址就是指针。我们定义了一个变量,系统对变量进行编译的时候就会给这个变量分配内存单元,内存若是一个公寓,那么内存单元就是公寓的一间间屋子,而指针就是公寓的“ 门牌号 ”。指针变量: 含义就是存放变量地址的变量,本质仍然是变量数据类型 *指针变量名 //eg int *a;比普通的变量定义 多一个*,这里的*就是表示该变量为指针变量注:若数据类型为void类型则表示该指针变量为空类型TC系统VC系统2字节4字节注:指针变量所占字节数和数据类型无关。 阅读详情

##1. 数组和指针的关系
arr == &arr[0]
代表首元素的地址

但是有两个例外
sizeof(arr) 得到整个数组的总字节数
&arr 取整个数组的地址

注意:arr、&arr[0]、&arr 它们打印出来的都是同一个地址

arr+1跳过一个元素
&arr+1跳过整个数组

公式:arr[i]==*(arr+i);

##2.数组名会退化
void test (int arr[] )
void test ( int *arr )

##3.指针数组和数组指针
看最后两个字区分
int (arr)[5]; 里面放5个int
int *arr[5]; 里面放5个int

##4.常量字符串
const char *p=“abcdef”;
char str[]=“hello”;

前者本质是指针,后者是数组
p存的是a的地址,str存的是hello \ 0

##5.冒泡排序

int sz=sizeof(arr)/sizeof(arr[0]);
for(i=0;i<sz_1;i++)
{
for(j=0;j<sz-1-i;j++)
{ if(arr[j]<arr[j+1])
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
后期用qsort简化

##6.浮点数不可以直接a==b
这样会出现精度缺失
If(fabs(a-b)<1e-7)来判断
1e-7表示10的负7次方

##7.switch
没有break就会一直穿透下去
不管是case还是default

##8.二级指针
int **ppa=&p
存放的是
p的地址

第四节:Vben Admin登录对接后端getUserInfo接口 上一节,我们完成了/api/auth/login接口的创建,通过login接口,我们完成了登录和Token的生成。但是登陆还是报404返回,发现是Vben Admin又请求了一个/api/getUserInfo接口,本节我们就来分析完成这个接口本节,我们完成了getUserInfo接口,完成了登录操作,成功的进入到工作台页面。 阅读详情

相关推荐

在trae CN中使用conda环境(已解决)

Trae CN 是字节跳动于 2025 年 3 月 3 日发布的国内首个 AI 原生集成开发环境(AI IDE)123。

zwzscnds的博客 6940

【C语言】数组和指针

数组和指针,十分全面!!

Qiuhan_909的博客 1万+

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现 BRDF简介 再介绍BRDF之前我们要引入渲染方程这个东西: 其中L表示辐射率,其公式为: 它表示了一个拥有辐射强度Φ的光源在单位面积A,单位立体角ω上的辐射出的总能量。 辐射率是辐射度量学上表示一个区域平面上光线总量的物理量,它受到入射光线与平面法线间的夹角θ的余弦值cosθ的影响:当直接...

小龙虾的博客 1万+

【C语言】——指针六:冒泡排序与qsort函数的实现

不会冒泡排序?不了解qosrt函数?看这篇文章就够啦!

yusjushd的博客 2723

PX4 Offboard模式实战避坑:为什么你的Gazebo无人机解锁了却飞不起来?

本文深入解析PX4 Offboard模式下Gazebo无人机解锁后无法起飞的关键原因,提供详细的故障排查流程和调试方法。重点解决MAVROS连接、setpoint消息频率、坐标系一致性等常见问题,帮助开发者快速掌握无人机控制核心技术。

weixin_33461476的博客 328

M×N扫描序列图像拼接、大视场图像拼接、全景图像拼接、2D网格拼图方法、累计误差消除(显微图像/航拍图像等)

M×N序列图像完整拼接方法前言一、最朴实的一般方法二、广度优先搜索算法1.引入库2.读入数据整体路径优化算法 前言 1、网上有很多介绍图像两两拼接的算法,但是缺少对M×N张子图两两相对位置关系获得整体误差较小,肉眼下无明显错位的完整图像的算法实现。 2、由于拼接算法的不稳定可能会产生不同程度的误差,那么如何需要选择(搜索)误差较小拼接路径。 一、最朴实的一般方法 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、广度优先搜索算法 1.引入库 代码如下(示

qq_37764141的博客 5408

c语言冒泡排序数组指针,c语言冒泡排序,指针,数组

冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。时间复杂度若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数和记录移动次数均达到最小值:,。...

weixin_42622428的博客 2450

yolov11添加P2小目标检测头与添加P6超大目标检测头

本文介绍了YOLO目标检测模型中上下采样的原理及应用。上采样通过插值算法放大特征图,YOLO通常采用最近邻插值;下采样则通过带步长的卷积缩小特征图提取高层语义特征。文章详细阐述了这两种操作在YOLO中的实现方式、结构特点及对称性问题,指出下采样后会使用C3模块进行特征整合,上采样后通过concat抑制分割感。此外,还分析了不同分辨率特征图适合检测不同尺寸目标的原因,并提出添加4倍小目标检测头的方法,即对上采样后的特征进行concat和C3模块处理。最后给出了YOLOv5原模型结构和添加4倍检测头后的结构对比

m0_64661770的博客 822

【C语言指针三】一维数组传参的本质、冒泡排序、二级指针、指针数组、指针数组模拟二维数组、字符指针变量

文章摘要: 本文深入探讨C语言指针进阶知识,涵盖一维数组传参本质(传递首元素地址)、冒泡排序实现、二级指针运算规则、指针数组概念及应用。通过图解分析指针数组模拟二维数组的原理,并解析字符指针变量的两种使用场景,特别强调常量字符串不可修改的特性。最后以代码示例验证数组与指针的地址差异,帮助读者全面掌握指针核心用法。 (150字)

2501_93623544的博客 1675

Python 爬虫实战:爬取 Bing 搜索功能链接(国际搜索引擎数据采集技巧)

在当今数字化信息爆炸的时代,搜索引擎已成为我们获取知识、了解世界的得力助手。Bing,作为全球知名的搜索引擎之一,拥有庞大的数据索引和精准的搜索算法。通过 Python 爬虫技术爬取 Bing 搜索区域的链接信息,不仅能帮助我们快速收集大量有价值的数据,还能为后续的数据分析、内容挖掘等任务提供丰富的素材。

yansideyucsdn的博客 1340

手把手教你学Simulink--基于Simulink的微电网用DC-DC变换器仿真建模

微电网概述微电网:包括可再生能源发电设备、储能系统和负载,可以独立于大电网运行,也可以并网运行。重要性提高能源可靠性:通过本地化供电减少对外部电网的依赖。促进可再生能源利用:支持高效整合多种可再生能源。挑战多源管理:不同类型的能源产生方式各异,需设计灵活的电源管理系统。能量转换效率:需要高效的能量转换装置来确保能源的有效利用。通过上述步骤,我们简要介绍了如何基于Simulink进行微电网中DC-DC变换器的仿真建模。

MHD0815的博客 162

深入理解指针(c语言)

数组名的理解、使⽤指针访问数组、⼀维数组传参的本质、冒泡排序、⼆级指针、指针数组

2301_81988400的博客 4547

ESP32学习笔记03-日志打印

日志分为5个等级。

Car12 1416

c语言冒泡用指针的写法,c语言冒泡排序,指针,数组

冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。时间复杂度若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数和记录移动次数均达到最小值:,。...

weixin_28894541的博客 938

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C语言函数指针的使用、函数指针数组及使用、指向函数指针数组的指针,指针进阶版的冒泡排序等介绍

C语言函数指针的使用、函数指针数组及使用、指向函数指针数组的指针及使用,C语言库函数qsort、指针进阶版的冒泡排序等介绍C语言函数指针的使用、函数指针数组及使用、指向函数指针数组的指针及使用,C语言库函数qsort、指针进阶版的冒泡排序等介绍。

Farewell_me的博客 944

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C语言例题——用指针实现冒泡排序及其优化

#include "stdio.h" void main() { //要排序的数字个数 int count = 3; //原始数组 int arrays[100]; //用于for循环 int i; //声明函数 void sort(); printf("请输入要排序的数字的个数:"); scanf("%d", &count); //填充原始数组 for (i = 0; i < count; i+

鑫宇的博客 2356

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C语言指针(超详细)

1.内存和地址 (引入)2. 指针变量和地址3. const修饰指针4. 指针运算5. 野指针6. assert断⾔7. 指针的使⽤和传址调用8.拓展👀:数组名的理解9. 使⽤指针访问数组10. ⼀维数组传参的本质11. 冒泡排序12. ⼆级指针13. 指针数组14. 指针数组模拟⼆维数组15. 字符指针变量16. 数组指针变量17. ⼆维数组传参的本质18. 函数指针变量。

2301_80046330的博客 2479

【C语言】利用指针完成对数组的排序(冒泡排序)

利用指针完成对数组的排序(冒泡排序)

分享有趣的C语言入门程序,祝我们新的一年没有Bug! 2350

初识C语言指针(3)

指针

技术不止是工具,也是探索世界的方式 1796

【C语言】13.指针(3)

这篇文章我们详细介绍了指针部分内容

yuansanshui_520的博客 942

C语言:指针2(冒泡排序)

sizeof ( arr ) :这⾥的数组名表⽰的是整个数组,比如下面这个代码有10个元素每个元素是int类型,int类型是4个字节,10个元素就是40个字节。这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽且。下面这个代码我们可以看到地址是一样的说明&arr[0]和arr拿到的都是数组首元素的地址。因为传给函数的是数组首元素地址这个地址是int类型int是4个字节。⼀维数组传参,形参的部分可以写成数组的形式,也可以写成指针的形式。

2401_86729329的博客 1137

c语言指针实现冒泡排序及其优化

冒泡排序是一个十分容易实现的算法,简单说明一下: 假设数组长度为 N,要求从小到大排序: 1从第一个数开始比较相邻两个元素,如果前面的数据大于后面的数据,就将二个数据交换。 2对数组元素进行一次第一次遍历后,最大的数据就’沉’到了数组最后一个位置。 3重复遍历过程,直到N-1次,此时排序完成。 用一张网上的图来大致说明一下: 给出实现的代码:void Bubble_Sort(int

mxrrr_sunshine的博客 1万+

C语言之深入C语言指针

我们来看如下代码:不难发现结果都是一样的,原因是方式一为函数直接调用,用函数名 就是调用了函数的地址,与方式二三本质上其实是一样的,而在方式三中,我们没有对pf 进行解引用操作,但是代码仍能够执行的原因就是因为这里的pf是函数add的地址,而方 式一中的add调用也是函数的地址,二者在本质上是一样的。是C语⾔中定义的⼀个标识符常量,值是0,0也是地址,这个地址是⽆法使⽤的,读写 该地址会报错.

2401_85878549的博客 1133

C语言:冒泡排序

本文介绍了冒泡排序的实现方法,其中包括传址调用和传值调用的区别,数组传参的本质等内容

Yolo_TvT的博客 2362

万字长篇————C语言指针学习汇总

在介绍指针之前,我们首先要明白变量与地址之间的关系。举一个生活中的案例:一个宿舍楼内有一百个房间,你就身处其中一个房间内,你的朋友想来找你玩,但是这么多房间一个一个找很麻烦,效率很低。但是如果我们把每个房间编上号码,如101、102……,这样就方便你的朋友找到你了。而对应到C语言中,内存空间就是这个“宿舍楼”,而想要对内存进行高效的管理就需要“房间”来将内存划分为一个又一个的内存单元,就如同学生宿舍一样,每个内存单元的大小对应一个字节,有8个比特位。一个比特位只能存放一个1或0。

2401_89119815的博客 1907

C语言实例:使用指针实现冒泡排序

2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。3.针对所有的元素重复以上的步骤,除了最后一个。

专注于C语言编程干货分享 1051
上一篇: c语言:数组指针和指针数组的书写模板
下一篇: 关于浮点数的比较以及cmp(回调函数)的正确写法
Code_Solitude
博客等级 码龄116天 1粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值