What's the difference between the two pointer operators in the code gen?

In code generation using Simulink coder the pointers can be used in two different ways:
(*ptr).variable or ptr->variable
What is the difference? When coder uses one or the other?
thanks

 采纳的回答

I don't know why the Coder will produce one form vs the other form, but by definition in the C language they mean exactly the same thing to the C compiler.

3 个评论

Exactly, that's why my question. Maybe it does that for specific storage classes. I noticed that for inputs the -> is used and for mpt signals the (*ptr) is more common. Thanks for the reply!
My first WAG is that maybe two different groups of people at TMW produced the Coder logic for the two different cases, and one group preferred the (*ptr).variable syntax while the other group preferred the ptr->variable syntax.
In my experience (*ptr).variable becomes more probable with mechanical code generation that is traversing data structures looking for the correct field, whereas ptr->variable is more probable when you already know you are at the correct location. They mean the same, but when you are doing mechanical code generation you tend to be thinking of "current location" as an emphasis that tends to lead more to *ptr syntax.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Simulink Coder 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by