实习项目经验总结1:函数参数和数据类型

  5.6正式开始实习阶段,在此记录下实习过程中的经验。

函数参数

项目一般使用多种数据类型,不同数据类型作为函数参数如下:

数组作为函数参数

参考C++ 传递数组给函数

举例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;

// 函数声明
double getAverage(int arr[], int size);

int main ()
{
// 带有 5 个元素的整型数组
int balance[5] = {1000, 2, 3, 17, 50};
double avg;

// 传递一个指向数组的指针作为参数
avg = getAverage( balance, 5 ) ;

// 输出返回值
cout << "平均值是:" << avg << endl;

return 0;
}

运行结果:

平均值是: 214.4

结构作为函数参数

参考C++ 数据结构

举例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <cstring>

using namespace std;
void printBook( struct Books book );

// 声明一个结构体类型 Books
struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
};

int main( )
{
Books Book1; // 定义结构体类型 Books 的变量 Book1
Books Book2; // 定义结构体类型 Books 的变量 Book2

// Book1 详述
strcpy( Book1.title, "C++ 教程");
strcpy( Book1.author, "Runoob");
strcpy( Book1.subject, "编程语言");
Book1.book_id = 12345;

// Book2 详述
strcpy( Book2.title, "CSS 教程");
strcpy( Book2.author, "Runoob");
strcpy( Book2.subject, "前端技术");
Book2.book_id = 12346;

// 输出 Book1 信息
printBook( Book1 );

// 输出 Book2 信息
printBook( Book2 );

return 0;
}
void printBook( struct Books book )
{
cout << "书标题 : " << book.title <<endl;
cout << "书作者 : " << book.author <<endl;
cout << "书类目 : " << book.subject <<endl;
cout << "书 ID : " << book.book_id <<endl;
}

运行结果:

书标题 : C++ 教程
书作者 : Runoob
书类目 : 编程语言
书 ID : 12345
书标题 : CSS 教程
书作者 : Runoob
书类目 : 前端技术
书 ID : 12346

数据类型

ROS数据类型

ROS标准数据类型std_msgs
ROS文档:http://docs.ros.org/

c++数据类型

C++ 数据类型

问题记录

  1. 在ROS中,如何将自定义消息msg作为函数参数,目前还没有掌握具体的方法,有待解决!
+