sizeof()函数返回不同的大小

时间:2013-07-17 03:55:52

标签: c++

c ++中的sizeof()函数在函数内部给出了不同的大小,在main中有不同的大小。知道为什么吗?

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

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

如果PKTSIZE是9,如果你在x64平台上编译它,那么你在主数据大小和函数中得到指针大小。