Linux C 宏定义sizeof问题

2019-01-03 01:38发布

电脑64位linux系统,代码假设定义一个宏#define FUN(x)  fun(x, sizeof(x)),代码中传入一个int型调用这个宏,进入fun函数显示sizeof(x)这个值传入的是8,但是如果我直接调fun这个函数,显示传入的值为4。这里应该都是预编译阶段就确定的值为什么有这个差别?

标签: linux c
1条回答
做个烂人
2楼-- · 2019-01-03 02:03

http://en.cppreference.com/w/cpp/language/types int的长度一般都是4个字节

std::cout<< "size of int: " << sizeof (int) << std::endl;

你这个问题好宏应该关系不大

查看更多
登录 后发表回答