C++函数如何传递字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++函数如何传递字符串?相关的知识,希望对你有一定的参考价值。

以字符串数组形式传递,指针方式 或 数组方式 都能实现参数传递。
如:
#include <stdio.h>
#include <string.h>
void fun1( char *pstr )

printf("%s\\n",pstr );


void fun2( char arr[] )

printf("%s\\n",arr );


int main()

char str[10];
strcpy( str , "hello" );
fun1( str );
fun2(str);
return 0;

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。 

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

参考技术A 以字符串数组形式传递,指针方式

数组方式
都能实现参数传递。
如:
#include
<stdio.h>
#include
<string.h>
void
fun1(
char
*pstr
)

printf("%s\n",pstr
);

void
fun2(
char
arr[]
)

printf("%s\n",arr
);

int
main()

char
str[10];
strcpy(
str
,
"hello"
);
fun1(
str
);
fun2(str);
return
0;

C++ 数组与字符串⁽²³⁾|函数与数组

第二十三章:在C++编程中将数组传递给函数

在此篇教程中,我们将通过示例程序学习如何在 C++ 编程中将一维和多维数组作为函数参数传递。


在 C++ 中,我们可以将数组作为参数传递给函数。而且,我们也可以从函数返回数组。

在学习将数组作为函数参数传递之前,请确保你已经了解了:『  』和 『』与 『』系列文章。


   将数组作为函数参数传递的语法

将数组传递给函数的语法:

returnType functionName(dataType arrayName[arraySize]) {
// 代码
}

来看一个例子:

int total(int marks[5]) {
// 代码
}

此处,将一个名为marksint 类型数组传递给函数 total(),且数组的大小为5


   示例 1:将一维数组传递给函数

// C++程序:显示5名学生的分数

#include <iostream>
using namespace std;

// 声明一个显示分数的函数
// 以一维数组作为参数
void display(int m[5]) {
cout << "显示分数: " << endl;

// 显示数组元素
for (int i = 0; i < 5; ++i) {
cout << "学生 " << i + 1 << ": " << m[i] << endl;
}
}

int main() {

// 声明并初始化一个数组marks
int marks[5] = {88, 76, 90, 61, 69};

// 调用显示函数
// 将数组作为参数传入显示函数中去
display(marks);

return 0;
}

   输出:

显示分数: 
学生 1: 88
学生 2: 76
学生 3: 90
学生 4: 61
学生 5: 69

此处解读:

  1. 当通过传递数组作为参数来调用函数时,只需使用数组的名称。

    display(marks);

  2. 但,请注意:display() 函数中的参数 int m[5]

    void display(int m[5])

    此处,在函数参数中使用了数组的完整声明,包括了方括号 []



   将多维数组传递给函数

我们还可以将多维数组作为参数传递给函数。例如:

   示例 2:将多维数组传递给函数

// C++ 程序:显示两个元素
// 通过将其传递给函数来生成多维数组

#include <iostream>
using namespace std;

// 定义一个函数
// 传递一个二维数组作为参数
void display(int n[][2]) {
cout << "显示的值: " << endl;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 2; ++j) {
cout << "num[" << i << "][" << j << "]: " << n[i][j] << endl;
}
}
}

int main() {

// 初始化二维数组
int num[3][2] = {
{3, 4},
{9, 5},
{7, 1}
};

// 调用函数
// 传递一个二维数组作为参数
display(num);

return 0;
}

   输出:

显示的值: 
num[0][0]: 3
num[0][1]: 4
num[1][0]: 9
num[1][1]: 5
num[2][0]: 7
num[2][1]: 1

在上面的程序中,定义了一个名为 display() 的函数。该函数采用二维数组 int n[][2] 作为其参数传入并打印该数组的元素。

在调用函数时,我们只将二维数组的名称作为函数参数 display(num) 传递。

C++ 数组与字符串⁽²³⁾|函数与数组

Note: 指定数组中的行数 [2] 不是强制性的。但是,应始终指定列数。这就是程序中使用 int n[][2] 的原因。

我们还可以将超过 2 维的数组作为函数参数传递。


   C++ 从函数返回数组

我们将在后续的教程中>----------->学习如何从函数返回数组。




程序算法实验室 zhangJA-Lab

-----------------------------------------------------------------------------


大家好,这是程序算法实验室订阅号欢迎各位关注!此处将持续分享关于Linux、DeepLearning、OpenCV、C++、SLAM、Python等技术干货。