传入数组名,如何得到数组元素个数
2013-11-01 19:47
197 查看
首先,请先参考我上一篇博文《sizeof的种种孽缘》,搞清楚何为数组名退化。
方法一:把数组长度作为参数传入。
方法二:裹成结构体传入。
做一个只有一个类型为数组的元素的结构体,相当于把数组用一个box包起来,占用的内存空间相同。
方法三:使用vector<T> 作为参数。
方法四:如果传入的数组是浮点数或者其他非0数组,遍历数组得出结果。
欢迎补充和改正!~
方法一:把数组长度作为参数传入。
方法二:裹成结构体传入。
#include "stdio.h" typedef struct array_box { int array[10]; }ARRAY_BOX; void getData(ARRAY_BOX * arrayBox_p) { int count = sizeof(arrayBox_p->array) / sizeof(int); int i; for (i = 0; i < count; i++) { arrayBox_p->array[i] = i; } } void main() { ARRAY_BOX arrayBox; getData(&arrayBox); }
做一个只有一个类型为数组的元素的结构体,相当于把数组用一个box包起来,占用的内存空间相同。
方法三:使用vector<T> 作为参数。
方法四:如果传入的数组是浮点数或者其他非0数组,遍历数组得出结果。
int ArrayCount(float *p) { int count = 0; while(*(p++)) count ++; return count; }
欢迎补充和改正!~
相关文章推荐
- a[9]与9[a]的确是相同的,以及函数内部如何得到传入数组参数的大小
- a[9]与9[a]的确是相同的,以及函数内部如何得到传入数组参数的大小
- 关于ibatis如何传入数组作为参数
- 如何得到数组中的最大值
- UCOSii任务就绪表之OSUnMapTbl[16*16]的数组是如何得到的
- js如何判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]];
- 如何获取函数传入数组的元素个数——谈数组的退化和引用
- 如何定义宏,返回数组的大小,并可以检查传入的参数是否为数组
- 如何将PreparedStatement查询得到的结果集存储起来--方法一:采用对象数组
- 【DAY.1】PHP如何得到数组最后元素的key?
- 【转载】如何得到数组中重复项的个数
- ajax如何经过后台返回json数组以及在在js中得到json对象
- Linux 命令精选--如何将数组传入到函数中
- 如何得到指针指向的数组的长度
- java如何快速得到一个数组里面有多少种元素?
- oracle如何把得到的值作为参数传入到 sql中
- C语言应用于LR中-如何得到数组长度
- 简单小笔记--如何得到两个数组的不同值。
- 如何将二位数组作为参数传入函数。
- C语言应用于LR中-如何得到数组长度(原创)