C/C++ 数组参数传递后,还能计算长度吗?
来源:互联网 发布:西北工业大学软件学院 编辑:程序博客网 时间:2024/04/29 14:39
/*
C/C++ 传递数组,虽然传递的是首地址地址,但是参数到了函数内
就成了普通指针,不再是数组首地址了,所以试图在别的函数中得到
传递数组的长度是行不通的。
只能先计算好长度后再传过去,进行其他的运算。
*/
void getArrLen(int a[]) // void getArrLen(int *a) 没区别,a都是个普通指针,不能自动识别之前是数组首地址
{
int len = sizeof(a) / sizeof(a[0]);
printf("%d\n", len); // len = 1
for (size_t i = 0; i < 5; i++)
printf("%d\n", a[i]); //打印出来还是12345
}
int main()
{
int a[] = { 1,2,3,4,5,};
getArrLen(a);
{
int a[] = { 1,2,3,4,5,};
getArrLen(a);
}
0 0
- C/C++ 数组参数传递后,还能计算长度吗?
- c传递二维数组参数
- c/c++:二维数组作为参数传递
- C语言中计算一个数组长度
- c语言中数组长度的计算
- c语言之数组长度计算
- C 自定义函数计算数组长度
- c语言中数组长度的计算
- C中数组问题--数组作参数与数组长度
- C语言中二维数组传递参数
- C语言多维数组参数传递问题
- 传递多维数组参数(C++)
- C/C++--参数传递
- C语言(函数传递可变长度的参数列表)va_arg
- C 数组最大长度
- C 零长度数组
- C获取数组长度
- C 语言数组长度
- 【web】对比时间大小的工具函数
- 图像边缘检测--OpenCV之cvCanny函数
- Linux YUM下载指定rpm包
- 1057. 数零壹(20) PAT 乙级
- unlocked_ioctl和compat_ioctl
- C/C++ 数组参数传递后,还能计算长度吗?
- Linux 文件与目录管理
- 关于机器学习的领悟与反思——北大张志华
- js中的定时器和面向对象
- ubuntu 上使用create-ap(脚本源自github) 打开Ap
- 【认证】【芬兰】Cable HD Ready
- 逆向工程工具
- Mac OS 下手动编译静态库及Xcode中使用该静态库的例子(一)
- Android软件版本更新流程梳理以及Demo