C++指针作为函数参数的注意

int fun1(int * p_pi);

int fun2(int p_ai []);

这两种均不能使用sizeof来获得正确大小.

如果传入指针是堆内存(malloc等分配),可以使用

cout << _msize(k)/sizeof(*k) << endl;

来获得其正确大小,不过因为传入指针特性未知,也无法针对指针类型来做限制,所以比较危险,传入栈内存指针后会出错,很不稳定.

原文地址:https://www.cnblogs.com/horane/p/3125975.html