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

 採用された回答

James Tursa
James Tursa 2017 年 7 月 5 日

0 投票

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 件のコメント

Rusczak
Rusczak 2017 年 7 月 5 日
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!
James Tursa
James Tursa 2017 年 7 月 5 日
編集済み: James Tursa 2017 年 7 月 5 日
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.
Walter Roberson
Walter Roberson 2017 年 7 月 5 日
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 ExchangeSimulink Coder についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by