请问在C语言中,函数传参时怎样利用指针传递数组

就是调用了数组的值,在子函数中进行处理,处理完后将得到的制返回原数组该怎么处理呢... 就是调用了数组的值,在子函数中进行处理,处理完后将得到的制返回原数组该怎么处理呢 展开
 我来答
大野瘦子
高粉答主

2019-10-13 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.7万
展开全部

数组名就是指针,例如:

#include <stdio.h>

void pr(char *p)

{

printf(p);

}

void main(void)

{

char s[] = "abc";

pr(s);

}

扩展资料:

注意事项

非数组类的声明尽量以指针的方式进行比较好。倘若一个指针指向的内存并不是一个数组,那么采用数组名的声明方式或许就会给人产生错误的引导。类似的,如果指向的是一个数组区域,则会给人以更加丰富的信息。例如:

int main(int argc,char* argv[])

{

/* code here */

}

int main(int argc,char** argv)

{

/* code here */

}

两种方式完全等价,但是前面一种能够更清晰地看出:这个参数是指向某个元素起始地址的指针,而后面的这种方式则不能够直观地看出这种含义。

树桖珍aj
2018-06-26 · TA获得超过6564个赞
知道小有建树答主
回答量:45
采纳率:0%
帮助的人:7853
展开全部

比如函数需要一个整型数组:

void ex(int a[])

{

}

或者可以写成:

void ex(int *a)

{

}

效果是一样的。

使用的时候:

引用数组中的第2个元素(即下标为1的元素)

a[1]

或者*(a+1)

基本上与数组的正常使用没有区别。

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylgaoyifan
推荐于2017-11-28 · TA获得超过1156个赞
知道小有建树答主
回答量:354
采纳率:0%
帮助的人:396万
展开全部
直接上例子:
比如函数需要一个整型数组:
void ex(int a[])
{
}
或者可以写成:
void ex(int *a)
{
}
效果是一样的。
使用的时候:
引用数组中的第2个元素(即下标为1的元素)
a[1]
或者*(a+1)
基本上与数组的正常使用没有区别。
(但要注意 由于调用函数时只传递了指针(首地址) 所以程序不会做超界检查)
========================补充============================
你在子函数中进行的更改会直接影响到原数组的内容
这也就意味着 只要你在处理函数中更改了数据 那么任何函数(包括原函数)访问这个数组时 都使用的是你更改以后的数值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
deppD
2011-01-19 · TA获得超过233个赞
知道答主
回答量:284
采纳率:0%
帮助的人:179万
展开全部
声明:
int arr(int a[]);<=>int arr(int *a);(计算机会把前者也翻译成后者处理,效果等价)

数组名就是指针

int a[5]={1,2,3,4,5};

引用时:
arrey=arr(a);

其实形参是一个指向该数组的指针,而数组只有一个,指向即操作

返回数组值我不知道你想问什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wind_neo
2011-01-19 · TA获得超过207个赞
知道答主
回答量:56
采纳率:0%
帮助的人:67.9万
展开全部
数组名就是指针,例如:
#include <stdio.h>
void pr(char *p)
{
printf(p);
}
void main(void)
{
char s[] = "abc";
pr(s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式