让我通过这个测试程序问我的问题:
#include <iostream>
void testSizeOf(char* buf, int expected) {
std::cout << "buf sizeof " << sizeof(buf) << " expected " << expected << std::endl;
}
int main ()
{
char buf[80];
testSizeOf(buf, sizeof(buf));
return 0;
}
输出:
buf sizeof 8 expected 80
为什么我会收到8
而不是收到80
?
upd刚刚发现类似的问题当一个函数有一个特定大小的数组参数时,为什么用指针替换它?