C++ 怎么把字符数组当作函数参数传递?

C++ 怎么把字符数组当作函数参数传递?,第1张

指针方式或数组方式都可以实现参数传递。

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

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法 *** 作的函数封装在一起作为一个类的定义。

很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址 给个程序看看
#include<stdioh>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
void convert(int array[][3]);
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
//调用矩阵转置函数
convert(array);
printf("\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)//设置数组中转置矩阵元素交换
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}

区分二维字符数组的类型,有两种方式:
1 静态的二维数组。
也就是形式为
char a[M][N]形式的数组,在传参数的时候,需要在形参中指明二维数组的宽度,也就是N值。
可以写成char a[M][N]的形式,也可以写成char a[][N]的形式。
另外,由于静态数组的单元是连续的,也可以转成一维数组传入,并在其它参数中指明二维数组的长和宽。不过在函数中访问时需要做对应的转换。
2 动态二维数组,即
char p;
在p上分配的二维数组,本质上为二维指针。 可以直接以char 类型参数传入。
见图,我们在D单元格中输入公式:=VLOOKUP(B,

把你定义的数组名传给形参就行了,数组名就是指向该数组的指针。数组的 *** 作实质上就是指针的 *** 作。
你用的是二重指针(int
p;),p是二重指针,那么p[q]就是一重指针,p[q]即可访问该指针(p[q])所指向的变量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13388426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存