自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 初学ROS,年轻人的第一个Node节点

这里是功能包下的CMakeLists.txt文件,而不是整个工作区间的CMakeLists.txt文件。3.打开VSCode,将工作区间catkin_ws的src文件夹添加到VSCode工作区。(2)通过在catkin_ws工作空间中使用catkin_make编译。8.构建while循环,循环条件为ros::ok()函数,以响应外部。下的CMakeLists.txt文件中设置节点源码的编译规则。的ros教学视频,本文根据视频内容生成了笔记,用来复习。去掉main函数的第二个参数的const。

2024-07-12 13:28:01 303

原创 ROS话题通讯

一个话题可以有多个发布者,也可以有多个订阅者。一个节点可以发布多个话题,也可以订阅多个话题。一个ROS节点网络中,可以同时存在多个话题。消息Message按照一定频率。话题Topic是节点间进行。消息的发送方为发布者。消息的接收方为订阅者。

2024-07-10 22:53:47 110

原创 ROS运行Node节点步骤

3.创建新的终端,运行Node节点。1.创建终端,启动ROS系统核心。2.在VSCode中。

2024-07-10 17:33:39 164

原创 ROS CMakeLists.txt中注释的作用

号开头的注释是对指令的解释说明。可根据指令示例来编写指令。号开头的注释是指令示例。

2024-07-10 17:15:50 95

原创 ROS软件包

通过apt下载的软件包为可执行文件,可以直接运行。其中,ssr_pkg为软件包包名,roscpp和rospy表示对cpp和python两种语言的支持,std_msg为标准消息包。3./opt/ros/ros版本/share目录下的软件包和catkin_ws工作区间中的软件包的区别。sudo apt-get install ros-ros版本-desktop-full。sudo apt-get install ros-ros版本-拓展包。2./opt/ros/ros版本/share目录下的软件包来源。

2024-07-10 17:08:24 194

原创 Ubuntu超级终端Terminator常用快捷键

1.ctrl+shift+e 横向分屏。2.ctrl+shift+o 纵向分屏。3.ctrl+shift+w 取消分屏。4.alt+方向键 移动焦点。

2024-07-10 11:19:54 108

原创 Linux常用命令

5)touch : 新建一个文件,如 touch test.txt 就会在当前目录下新建一个test.txt文件。7)mkdir:新建一个文件夹。4)ls(ll):都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。6)rm:删除一个文件,rm test.txt就会把test.txt文件删除。8)rm -r:删除一个文件夹,如rm -r test 会删除test文件夹。9)mv 移动文件:mv 要移动的文件 要移入的文件夹。2)cd . . :回退到上一个目录。1)cd :进入目录。

2024-04-13 17:16:23 172

原创 C++:封装函数,利用冒泡排序实现对整型数组的升序排序

例如数组:int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };封装一个函数,利用冒泡排序,实现对整型数组的升序排序。3.封装冒泡排序函数进行升序排序。4.封装打印函数进行打印输出。1.创建一个整型数组。

2024-04-06 18:22:27 290

原创 C++:利用二维数组实现分数统计

有三名同学(张三,李四,王五),在一次考试中的成绩分别如下表,1.利用二维数组存储成绩。2.将每行元素统计求和。

2024-04-06 10:23:10 197

原创 C++:冒泡排序

对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。如果第一个比第二个大,就交换他们两个。

2024-04-05 20:53:44 124 1

原创 C++:数组元素逆置

请声明一个含有5个元素的数组,并且将元素逆置。如数组中的元素为1,3,2,5,4,逆置后为4,5,2,3,1。2.4更新start为下一元素下标,更新end为前一元素下标。2.1记录首元素下标start。1.创建一个含有5个元素的数组,并将其初始化。2.2记录尾元素下标end。

2024-04-05 20:27:46 389 1

原创 C++:水仙花数

水仙花数指的是一个三位数,它的每位数字的三次幂之和等于它本身。

2024-04-05 16:18:47 503 1

原创 C++:猜数字

系统随机生成一个1到100之间的数字,玩家进行猜测,如果猜错,提示玩家猜的数字过大或过小,如果猜对恭喜玩家胜利,并退出游戏。

2024-04-04 20:23:53 117 1

原创 C语言中,函数声明的作用

把函数的名字,函数的类型,形参的个数,类型,顺序告诉编译系统,以便在函数调用时系统对其进行检查(如检查函数名是否正确,实参与形参的类型、个数是否一致)

2024-03-19 17:59:51 412

原创 C语言,将一个有5个元素的数组中的值按逆序重新排放,例如原来顺序86541,重新排放后为14568

指针的左边,这样我们就不会交换相同的元素或越界。指针所指向的位置,这样就完成了两个元素的交换。函数中,我们初始化了一个包含5个元素的数组。,分别指向数组的第一个和最后一个元素。在循环中,我们使用一个临时变量。指针所指向的元素的值,然后将。函数中,我们定义了两个指针。指针向左移动一个位置,直到。再次遍历数组并打印逆序后的值。指针所指向的元素的值赋给。指针所指向的位置,最后将。指针向右移动一个位置,

2024-03-19 17:36:54 499

原创 C语言中,数组名作为类型,作为地址,对数组名取地址的区别

当你对数组名取地址时,你得到的是整个数组的地址。这个地址与数组首元素的地址在数值上可能相同,但它们的类型是不同的。对数组名取地址的类型是。这意味着,当你尝试访问数组名时,你实际上是在访问首元素的地址。这种特性使得我们可以使用数组名进行指针运算,如。数组名作为地址时,指的是数组名为指向数组首地址元素的指针。是一个指向包含10个整数的数组的指针,它指向整个数组。数组名作为类型时,用于声明一个数组。对数组名取地址,得到的是整个数组的地址。是一个包含10个整数的数组的类型。,其中N是数组的元素数量。

2024-03-19 17:15:50 592

原创 C语言复试经典题目-输入10个整数,然后输入要查找的数,找到打印Found,找不到打印Not found

输入任意10个不相等的整数,然后输入要查找的数x,如果在这10个数中找到x,则打印Found,否则打印Not found。1.需要定义一个容量为10的整形数组,用来存放这10个整数。3.需要条件判断语句来判断x是否在这10个数中。4.需要一个flag标志来控制输出语句。2.需要循环输入整数到数组中。

2024-03-12 11:47:41 312 1

原创 C语言复试经典题目-读入正整数后输出-2013-1

编写程序,读入5个整数,当读入的数据为正整数时,显示该数,否则不显示。3.需要printf函数将结果显示在屏幕上。2.需要条件判断语句来判断是否为正整数。1.需要循环读入5个整数。

2024-03-12 11:05:16 172 1

原创 C语言复试经典题目-统计正数个数并计算它们的和

4.需要if语句判断是否为正数,若是则将值加入到sum中,并使得count数值加1。从终端读入20个数据到数组中,统计其正数的个数,并计算它们的和。1.需要定义容量为20的int型数组,存放20个数据。2.需要一个循环体来实现读入20个数的功能。2.需要定义count变量来统计正数的个数。3.需要定义sum变量来计算它们的和。

2024-03-11 21:12:10 298 1

原创 C语言中,变量的声明与定义的区别

需要注意的是,在C语言中,变量的定义只能进行一次,但声明可以多次。这是因为多次定义会导致内存空间的重复分配,而多次声明则只是告诉编译器变量的存在,不会引起内存分配的问题。声明(Declaration)主要告诉编译器变量的名字和类型,但它并不为变量分配内存空间。声明的作用主要是让编译器知道变量的存在,以便在后面的代码中识别和使用它。它不仅告诉编译器变量的名字和类型,还会为变量分配内存空间。因此,定义是实际创建变量的地方。在C语言中,变量的声明和定义是两个相关但不完全相同的概念。

2024-03-10 15:57:51 238 1

原创 C语言中,堆和堆栈的区别

在C语言中,正确地区分和使用堆和堆栈是非常重要的。堆栈通常用于存储程序执行时的临时数据,而堆则用于存储需要动态分配和释放的数据。堆内存的管理完全由程序员负责,通过调用malloc(), calloc(), realloc(), 和 free()等函数来分配和释放内存。C语言中的堆(Heap)和堆栈(Stack)是两种完全不同的内存管理机制,它们在内存中的位置、用途、管理方式以及生命周期都有显著的区别。由于堆内存的管理需要程序员手动进行,因此访问速度相对较慢,并且容易出现内存泄漏、野指针等问题。

2024-03-09 22:54:52 131 1

原创 C语言中,引用和指针的区别

定义和性质:引用是一个已存在变量的别名,它和这个变量表示的是同一块内存地址。而指针是一个变量,它存储的是另一个变量的地址。而指针则更加灵活,可以在运行时改变指向,但操作更复杂,安全性更低。操作:对引用的操作实际上就是对它所引用的对象的操作,而对指针的操作则是对指针所存储的地址的操作。大小:引用的大小是所指向的变量的大小,因为引用只是一个别名而已。空值:引用不能为空,一旦引用了一个对象,就不能再引用其他对象。引用和指针在编程中都是用于存储变量地址的,但它们之间存在一些关键的区别。

2024-03-09 22:36:33 151 1

原创 C语言的特点

语言简洁,使用灵活方便。 具有丰富的运算符和数据类型。 具有结构化的控制语句,便于实现程序的结构化 语法限制不太严格,程序设计自由度大 可以直接对硬件进行操作 程序执行效率高 程序可移植性好

2024-03-06 16:10:09 113 1

原创 C语言的数据类型

2024-03-05 22:41:22 82 1

原创 形参和实参的辨析

的地址单元,因此,在调用函数时,改变形参的值,传递,只能由实参传递给形参。在内存中,实参和形参处于。实参向形参的数据传递是。

2024-03-05 19:51:30 342 1

原创 指针与malloc动态内存申请

malloc返回值是void*,无类型指针类型,因此需要强制转换为指针变量对应的类型。malloc使用的头文件:#include malloc返回值为申请空间的起始地址,因此要用指针变量接收。

2024-03-05 12:16:53 159

原创 指针的偏移

偏移量和数据类型有关,如整型指针p,p+1其地址向后偏移4,也就是偏移1个int型变量地址空间。对指针的加减称为指针的偏移,加就是向后偏移,减就是向前偏移。将字符数组中前三个字符元素转换成大写字母。

2024-03-04 23:23:54 566

原创 10.1地址、指针、指针变量的概念

用于存放地址的变量称为指针变量,即指针变量的值是变量的地址。内存区域中的每字节都对应一个编号,这个编号就是地址。定义了整型指针变量p,p可以用来存放整型变量的地址。在对程序进行编译时,会为变量分配地址空间。一个变量的地址称为该变量的指针。基类型 *指针变量名;

2024-03-04 20:30:25 348

原创 数据结构-并查集

数据结构-并查集的实现

2022-11-21 17:29:43 288 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除