社区
C语言
帖子详情
c语言数组传参
Hat_trick173
2016-11-13 04:35:13
请教各位前辈:
当数组传参问题中: ①数组名作为实参,那么形参该如何定义,是定义int*p 还是int a[] ?
②数组名作实参, a[10]指的是a偏移10的指针,还是变量a[10] ?
如果可以的话,请多讲一些数组跟形参实参的知识,我想多学些。
好人一生平安~~
...全文
167
5
打赏
收藏
c语言数组传参
请教各位前辈: 当数组传参问题中: ①数组名作为实参,那么形参该如何定义,是定义int*p 还是int a[] ? ②数组名作实参, a[10]指的是a偏移10的指针,还是变量a[10] ? 如果可以的话,请多讲一些数组跟形参实参的知识,我想多学些。 好人一生平安~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wokaoyan1981
2016-11-13
打赏
举报
回复
数组名作为实参,就是把数组的首元素的地址作为实参传给了函数,实际上它还是一个指针,因此你在定义函数的时候,形参既可以 写成数组形式,也可以写成指针形式; 第二个问题你没有表述清楚啊。a[10]指一个数组或者数组的元素,要看它出现的位置。如果在声明中出现,它就是一个数组,在使用过程中出现,那就是数组中的一个元素。a[10]并不能表示指针。
wokaoyan1981
2016-11-13
打赏
举报
回复
1.如果数组名作为实参,形参应该写成数组形式或指针变量; 例如:aver=average(score); //数组名score作实参 float score[10]; //定义数组 ........ float average(float array[10]); //定义函数,数组作为形参 2.(int *) a[10]是指针,指向包含10个整型元素的一维数组; int *a[10]是数组,包含10个指向整型元素的指针;
paschen
2016-11-13
打赏
举报
回复
a[10] 表示与 *(a+10)等效 也就是数组中第10个元素,但并不一定是偏移10字节大小的位置
paschen
2016-11-13
打赏
举报
回复
int*p 与 int a[] 是一样的,都相当于int*p 因为数组名作为参数或者返回值已经退化为了指针
fefe82
2016-11-13
打赏
举报
回复
(形式)参数定义里,int *p 和 int p[] 是等价的。
这是一款基于聚鑫 API 的 Dify 文生图插件,采用 Google Gemini 3 Pro Image Preview 模.zip
基于AI的工作效率提升工具(聊天、绘画、知识库、工作流、 MCP服务市场、语音输入输出、长期记忆) | Ai-based productivity tools (Chat,Draw,RAG,Workflow,MCP marketplace, ASR,TTS, Long-te…
综合大作业-大数据2301.doc
综合大作业-大数据2301.doc
柔性电力系统中油浸式变压器的最佳老化极限研究(Matlab代码实现)
柔性电力系统中油浸式变压器的最佳老化极限研究(Matlab代码实现)
docker-compose-linux-x86-64-v5.1.4
Docker Compose 是一个用于定义和运行多容器Docker应用程序的命令行工具
六轴机械臂斗地主发牌代码(回零位置优化版本)
六轴机械臂斗地主发牌代码(回零位置优化版本)
C语言
70,037
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章