int fun1(int * p_pi);
int fun2(int p_ai []);
这两种均不能使用sizeof来获得正确大小.
如果传入指针是堆内存(malloc等分配),可以使用
cout << _msize(k)/sizeof(*k) << endl;
来获得其正确大小,不过因为传入指针特性未知,也无法针对指针类型来做限制,所以比较危险,传入栈内存指针后会出错,很不稳定.
本文共 260 字,大约阅读时间需要 1 分钟。
int fun1(int * p_pi);
int fun2(int p_ai []);
这两种均不能使用sizeof来获得正确大小.
如果传入指针是堆内存(malloc等分配),可以使用
cout << _msize(k)/sizeof(*k) << endl;
来获得其正确大小,不过因为传入指针特性未知,也无法针对指针类型来做限制,所以比较危险,传入栈内存指针后会出错,很不稳定.
转载于:https://www.cnblogs.com/horane/archive/2013/06/08/3125975.html