嵌入式-C语言基础:数组作为参数传递需要注意的问题
2024-10-20 16:08:30
#include <stdio.h> void printData(int data)
{
printf("%d\n",data);
} //形参中不存在数组的概念,即便中括号约定了数组的大小,也无效,传递的是一个地址,是数组的首地址
void printArr(int arry[], int len)
{
int i;
printf("printArr: arry的大小是:%d\n",sizeof(arry));//总是输出8,是因为在os用8个字节来表示一个地址
for(i=0;i<len;i++){
printf("%d ",arry[i]);
}
putchar('\n');
}
int main()
{
int len;
int arry[5] = {3,4,5,6,7};
len = sizeof(arry)/sizeof(arry[0]);
printf("main: arry的大小是:%d\n",sizeof(arry));
printArr(&arry[0],len);//第一个元素的地址也是数组的首地址
printArr(arry,len);//数组名代表整个数组的首地址
return 0;
}
输出结果
main: arry的大小是:20
printArr: arry的大小是:8
3 4 5 6 7
printArr: arry的大小是:8
3 4 5 6 7
最新文章
- 初识IOS,Label控件的应用。
- 教你50招提升ASP.NET性能(十三):精选技巧集合
- input单选框全选与反选
- Ubuntu13.04使用Mesa
- 在iOS9中 xcode7 网络请求 如图片请求不显示等
- 一.HttpClient、JsonPath、JsonObject运用
- 获取tranform参数函数的封装
- Android Multimedia框架总结(二十)MediaCodec状态周期及Codec与输入/输出Buffer过程(附实例)
- POJ_3342_Party at Hali-Bula_树形DP
- Java问题解决:";错误: 找不到或无法加载主类";
- RMAN restore fails with ORA-01180: can not create datafile 1
- c++中的c_str()用法
- vue proxyTable 跨域问题。
- Java面试题系列(一)描述一下JVM加载class文件的原理机制
- Jquery checkbox选中问题
- sql语句中处理金额,把分换算成元
- SQL_MODE设置讲解
- mysql主从复制之mysql-proxy实现读写分离
- Python中如何将字符串作为变量名
- 杂项-操作系统-百科:Solaris
热门文章
- 【java】学习路径32-绝对路径与相对路径
- 五 工厂方法模式【Factory&#160;Method&#160;Pattern】&#160;来自CBF4LIFE 的设计模式
- XXL-JOB最佳实践与升级指南
- B2. Wonderful Coloring - 2
- omc.
- 通过ftutilx 插件实现流版式文件全文检索
- Redis6.0.6的三大内存过期策略和八大淘汰策略
- 01-MyBatisPlus简介
- Kafka QuickStart
- C#并发编程-2 异步编程基础-Task