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

[复制链接]
查看11 | 回复5 | 2019-10-13 00:31:46 | 显示全部楼层 |阅读模式
就是调用了数组的值,在子函数中进行处理,处理完后将得到的制返回原数组该怎么处理呢

回复

使用道具 举报

千问 | 2019-10-13 00:31:46 | 显示全部楼层
数组名就是指针,例如:#include void pr(char *p){printf(p);}void main(void){char s[] = "abc";pr(s);}扩展资料:注意事项非数组类的声明尽量以指针的方式进行比较好。倘若一个指针指向的内存并不是一个数组,那么采用数组名的声明方式或许就会给人产生错误的引导。类似的,如果指向的是一个数组区域,则会给人以更加丰富的信息。例如:int main(int argc,char* argv[]){/* code
回复

使用道具 举报

千问 | 2019-10-13 00:31:46 | 显示全部楼层
比如函数需要一个整型数组:void ex(int a[]){}或者可以写成:void ex(int *a){}效果是一样的。使用的时候:引用数组中的第2个元素(即下标为1的元素)a[1]或者*(a+1)基本上与数组的正常使用没有区别。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存
回复

使用道具 举报

千问 | 2019-10-13 00:31:46 | 显示全部楼层
声明:int arr(int a[]);int arr(int *a);(计算机会把前者也翻译成后者处理,效果等价)数组名就是指针int a[5]={1,2,3,4,5};引用时:arrey=arr(a);其实形参是一个指向该数组的指针,而数组只有一个,指向即操作返回数组值我不知道你想问什么
回复

使用道具 举报

千问 | 2019-10-13 00:31:46 | 显示全部楼层
直接上例子:比如函数需要一个整型数组:void ex(int a[]){}或者可以写成:void ex(int *a){}效果是一样的。使用的时候:引用数组中的第2个元素(即下标为1的元素)a[1]或者*(a+1)基本上与数组的正常使用没有区别。(但要注意 由于调用函数时只传递了指针(首地址)所
回复

使用道具 举报

千问 | 2019-10-13 00:31:46 | 显示全部楼层
数组名就是指针,例如:#include void pr(char *p){printf(p);}void main(void){ char s[] = "abc"; pr(s);}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行