小编cco*_*987的帖子

在这种情况下,C是否正确处理sizeof(...)和sizeof ...

在下面的代码中,功能testtest2等效的是什么?

typedef int rofl;

void test(void) {
    rofl * rofl = malloc(sizeof(rofl)); // Is the final rofl here the TYPE?
}

void test2(void) {
    rofl * rofl = malloc(sizeof *rofl); // Is the final rofl here the VARIABLE?
}
Run Code Online (Sandbox Code Playgroud)

换一种说法:

  1. 是否roflsizeof(rofl)正确挑选rofl 类型,因为括号?
  2. 是否roflsizeof *rofl正确地挑选rofl 可变的,因为一个缺少括号?

注意:这是一个看起来很愚蠢的例子,但在实践中实际上你可以使用与变量名相同的类型名称.因此问题.

c sizeof unary-operator

38
推荐指数
2
解决办法
1748
查看次数

标签 统计

c ×1

sizeof ×1

unary-operator ×1