c++,如何在一个函数中计算数组的元素个数?

例如我定义了一个数组函数 void jiaojing(int *p)
我运用时是代入一个数组m,我怎么能在函数中算出数组的元素个数了?
谢谢~!

C语言的一个缺点就是数据类型不是自包含的,上面的函数你应该写成
void jiaojing(int *p,int n)
也就是元素的个数你应该在调用函数的时候传递过去。
C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++14于2014年8月18日公布。
其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-04
数组作为形参传入函数是,会失去数组的属性,只有指针属性。在调用函数内部是不能计算数组的元素个数的,需要在函数调用前计算 后传入。

试在函数内部计算打印:
无论p是什么样的数组类型,有多少元素个数。sizeof(p)== 4;
第2个回答  推荐于2016-06-16
C语言的一个缺点就是数据类型不是自包含的,上面的函数你应该写成

void jiaojing(int *p,int n)

也就是元素的个数你应该在调用函数的时候传递过去。本回答被提问者采纳
第3个回答  2013-12-03
指针的话算不出数组个数的 这样的就可以void jiaojing(int p[])
int length = sizeof(p)/sizeof(int);追问

还是不行啊 出来竟然是1

相似回答