作者是这个问题 https://stackoverflow.com/questions/18898410/2-dimensional-array-simple-understanding当我问他什么时,他只是取笑我sizeof * q
做...
他告诉我这是一个非常基本的 C 问题,我应该检查一下。
但是当我环顾四周并没有看到有人问过这个问题时,我现在就自己做:
什么是sizeof
在 C 中,当它不带括号和/或类型使用时会做什么?
所以如果我们看一下语法sizeof
in the C99标准草案 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf部分6.5.3
一元运算符段落1如下:
sizeof unary-expression
sizeof ( type-name )
有一个区别,你不能使用类型名称没有括号和部分6.5.3.4
运算符的大小段落2 says(强调我的):
sizeof 运算符产生其操作数的大小(以字节为单位),该操作数可以是
表达或带括号的类型名称.[...]
为了完整起见,您可能想知道我们是否可以使用sizeof
如果我们有括号并且答案是肯定的,则使用表达式一元表达式本身可以包含括号。查看此内容的最简单方法是查看部分A.2.1
表达式从标准草案中开始并完成语法,如下所示:
unary-expression -> postfix-expression -> primary-expression -> ( expression )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)