表达式“sizeof(int)* p”是什么?意思? [英] What does the expression "sizeof(int)*p" mean?

查看:70
本文介绍了表达式“sizeof(int)* p”是什么?意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否意味着(sizeof(int))*(p)或sizeof((int)(* p)) ?


根据我的分析,运算符sizeof,(type)和*具有相同的

优先级,并且它们从右到左组合。那么这个表达式应该等于sizeof((int)(* p)),但是编译器并不这么认为。为什么?


任何人都可以帮助我吗?谢谢。


祝你好运。

Roy


Does it mean "(sizeof(int))* (p)" or "sizeof( (int)(*p) )" ?

According to my analysis, operator sizeof, (type) and * have the same
precedence, and they combine from right to left. Then this expression should
equal to "sizeof( (int)(*p) )", but the compiler does NOT think so. Why?

Can anyone help me? Thanks.

Best regards.
Roy


推荐答案

" Roy Yao" < FL *** @ 263.net>在消息新闻中写道:< bk *********** @ mail.cn99.com> ...
"Roy Yao" <fl***@263.net> wrote in message news:<bk***********@mail.cn99.com>...
是否意味着(sizeof(int))*( p)"或sizeof((int)(* p)) ?

根据我的分析,运算符sizeof,(type)和*具有相同的优先级,并且它们从右到左组合。那么这个表达式应该等于sizeof((int)(* p)),但是编译器并不这么认为。为什么?

任何人都可以帮助我吗?谢谢。

致以最诚挚的问候。
Roy
Does it mean "(sizeof(int))* (p)" or "sizeof( (int)(*p) )" ?

According to my analysis, operator sizeof, (type) and * have the same
precedence, and they combine from right to left. Then this expression should
equal to "sizeof( (int)(*p) )", but the compiler does NOT think so. Why?

Can anyone help me? Thanks.

Best regards.
Roy




嘿,

两者都是;(sizeof(int))*(p)或sizeof((int)(* p))是不一样的。

"(sizeof(int))*(p)"意味着你将sizeof(int),即2

(字节)乘以p的值。而sizeof((int)(* p))意思是,

首先你得到了adderess p的值(因为* p给出了另一个变量的价值
),然后你转换了返回的

值为整数格式,最后你检测到结果的大小为

。如果您对我的ID有任何疑问,请联系 ke ********* **@yahoo.co.in


很酷,

Y. Keerthi

Sagar& Ashok。




Hey,
Both "(sizeof(int))* (p)" or "sizeof( (int)(*p) )" are not same.
"(sizeof(int))* (p)" means you are multiplying sizeof(int), i.e. 2
(bytes), with the value of "p". Whereas "sizeof( (int)(*p) )" means,
First you are getting the value of at the adderess p (because *p gives
the value of another variable), then you are converting the returned
value into interger format and finally you are detecting the size of
that result. If you have any doubts contact at my ID
ke***********@yahoo.co.in.

Be Cool,
Y. Keerthi
Sagar & Ashok.


Hello Keerthi,


感谢您的热情。


我的发送给你的邮件被你的邮件服务器拒绝了,所以我在这里回复你。


在这个表达式中,让我困惑的是编译器(或ANSI C)如何
确定运算符sizeof,(type)和*的组合。


在我的opion中,它应该等于表达式sizeof((int)(* p))。

的原因是运算符sizeof,(type)和*具有相同的

优先级,并且它们从右到左组合。但是编译器更喜欢

"(sizeof(int))*(p)"。


现在你可以从优先级给我一个有信心的解释和
运营商的组合订单?


再次感谢。


祝你好运,

Roy Yao
Hello Keert

Thanks for your enthusiasm.

My email to you was rejected by your mail server, so I reply you here.

In this expression, what confused me is how the compilers (or ANSI C)
determine the combination of operator sizeof, (type) and *.

In my opion it should equal to expression "sizeof( (int)(*p) )". The
reason is that operator sizeof, (type) and * have the same
precedence, and they combine from right to left. But the compilers prefer
"(sizeof(int))* (p)".

Now can you give me a convictive explain from the precedence and
combination order of operator ?

Thanks again.

Best regards,
Roy Yao


On Tue,2003年9月16日08:44:02 +0800,Roy Yao写道:
On Tue, 16 Sep 2003 08:44:02 +0800, Roy Yao wrote:
你好Keerthi,

感谢您的热情。

我的电子邮件被您的邮件服务器拒绝了,所以我在这里回复。

表达式,令我困惑的是编译器(或ANSI C)如何确定运算符sizeof,(type)和*的组合。

在我的opion中它应该等于表达式sizeof ((int)(* p))。
原因是运算符sizeof,(type)和*具有相同的优先级,并且它们从右到左组合。但是编译器更喜欢
(sizeof(int))*(p)。

现在你可以从优先级和
组合顺序给我一个有说服力的解释。运营商?
Hello Keert

Thanks for your enthusiasm.

My email to you was rejected by your mail server, so I reply you here.

In this expression, what confused me is how the compilers (or ANSI C)
determine the combination of operator sizeof, (type) and *.

In my opion it should equal to expression "sizeof( (int)(*p) )". The
reason is that operator sizeof, (type) and * have the same
precedence, and they combine from right to left. But the compilers prefer
"(sizeof(int))* (p)".

Now can you give me a convictive explain from the precedence and
combination order of operator ?




我在其他帖子中告诉你,那不是(类型)运营商! (类型)是

/操作数/ sizeof。


Josh



I told you in my other post, that''s NOT the (type) operator! (type) is the
/operand/ of sizeof.

Josh


这篇关于表达式“sizeof(int)* p”是什么?意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆