【C语言】数组的传递
一维数组的传递,数组长度无法传递给子函数。
#include <stdio.h>
void print(int b[], int len){
for(int i=0; i<len; i++){
printf("%-3d", b[i]);
}
b[4]=20;
printf("\n");
}
int main() {
int a[5]={1,2,3,4,5};
print(a, 5);
printf("a[4]=%d\n", a[4]);
return 0;
}
进行 debug,可以看到进入 print 函数后,sizeof(b) 是8字节,而不是20字节。
这是因为实际数组名中存储的是数组的首地址,一维数组在传递时是将数组的首地址传递给形参 b(其实变量 b 是指针类型)。故要通过 len 来传递数组中的元素个数。
本文来自博客园,作者:hzyuan,转载请注明原文链接:https://www.cnblogs.com/hzyuan/p/17949837
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2022-01-06 【算法】计数排序
2022-01-06 【java】比较器的使用