C:sizeof(),sizeof()和sizeof

Unh*_*lig 1 c sizeof

C之前在SO上看了一篇帖子.我忘记了它的含义,但绝对不是我想在这里问的问题 - sizeof.

在评论部分的2个回答者之间进行了争论.这是两者之间激烈的辩论,但一个解释从未明确说过.

我试图找到它两天,但我找不到它,因此我的问题在这里.并且谷歌搜索没有产生任何关于此的结果.

焦点: sizeof()sizeof ()或只是sizeof

所以这些人基本上有两种类型:

第一组:

一位学者以里奇的名义发誓,因为他试图用以下方式登记他的车牌而从不会驾驶汽车:

sizeof ()政府之间sizeof()政府之间的空间(在某些国家/地区()- 允许使用车牌)将不允许数字/字母之间的空白空间.

第二组:

每隔一段时间,一位带着扎染衬衫的装饰C老兵会在回答你的时候回答你:"我真的不认识男人,有什么区别?我甚至都不知道这笔交易是什么.我甚至不记得..那些常春藤Lea ...... sizeof(),sizeof ()或者只是sizeof,我不担心,伙计."

那么,应该sizeof写一个sizeof与它之间的空间()甚至没有()或者真的没关系?

我欢迎来自C专家和学者的解释.那些不太适合上述类型的人 - 自学成才的CBobs和Marys--在他/她的手臂上纹有"C99和Ritchie"也受到欢迎.

它不会伤害我任何方式,但我只是好奇是否是一个"标准",在一个空间之间sizeof,()甚至一个没有().

或者他们真的一样 - 对我来说会很有趣.

Dav*_*nan 7

所有产生的结果都相同,而您使用的结果完全取决于偏好.

请注意,如果要提供类型名称,则必须使用parens.关于它的更多细节可以在这里找到:sizeof没有()做什么?

  • 就个人而言,我总是在"sizeof"之后使用parens而没有空间.这遵循大多数函数调用约定,并且将"sizeof"视为函数是无害的(恕我直言) (5认同)

hac*_*cks 5

没有区别sizeof()sizeof ().但是sizeofsizeof ().有一点不同.该标准说明了这一点:

6.5.3一元运营商:

sizeof unary-expression
sizeof ( type-name )   
Run Code Online (Sandbox Code Playgroud)

如果操作数是类型名称,则()需要.否则,对于一元表达式,您可以不使用它().