c++中的sizeof()函数在函数内部提供了不同的大小,在主体上也不同。知道为什么吗?
void createPacket(char packet[]){
int size = sizeof(packet);
printf("%d\n", size);
}
int main(){
char packet[PKTSIZE];
createPacket(packet);
int size = sizeof(packet);
printf("%d\n", size);
}我正期待着
9
9但是我得到了
8
9知道为什么吗?
发布于 2013-07-17 12:00:00
如果PKTSIZE是9,并且是在x64平台上编译的,那么在main中会得到数组大小,在函数中会得到指针大小。
https://stackoverflow.com/questions/17690819
复制相似问题