カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10810514
FAQカテゴリ(大) コンパイラ
最終更新日 2016-01-27

質問内容

TN60385: ポインタキーワードの構文

回答内容

ターゲット:すべて
コンポーネント:コンパイラ
公開日:2013年9月18日午前16時43分

 

概要
ポインタとそのキーワードについて解説します。 これらの情報は、マニュアルから探しにくいかも知れません。


注意
CONSTキーワードは他のキーワードと違う振る舞いをすることにも注意してください。


CONSTキーワードの式

 points_to int points_to * pointers_location constptr;

他のキーワードの式

 pointers_location int points_to * pointers_location ptrname;

"ポインタの場所" は他のキーワードに1回だけ使用できます。



下の例にあるキーワード (__near と __far2)と同様にIARのキーワードを使用することができますが、これらのキーワードは、EWにより異なります。例えば、 far, huge, near, tiny, idata, xdata, pdata, and __near などです。

/* CONST ポインタ */
const int * c1;
int const * c2;
int * const c3; /* Pointer is a constant pointer */
const int const * c4;
const int * const c5; /* Pointer is a constant pointer */
int const * const c6; /* Pointer is a constant pointer */
const int const * const c7; /* Pointer is a constant pointer */

 

/* POINTS TO NEAR */
__near int __near * n1; /* Pointer is located in NEAR */
int __near * __near n2; /* Pointer is located in NEAR */
__far2 int __near * n3; /* Pointer is located in FAR2 */
int __near * __far2 n4; /* Pointer is located in FAR2 */

 

/* POINTS TO FAR2 */
__near int __far2 * f1; /* Pointer is located in NEAR */
int __far2 * __near f2; /* Pointer is located in NEAR */
__far2 int __far2 * f3; /* Pointer is located in FAR2 */
int __far2 * __far2 f4; /* Pointer is located in FAR2 */

 

すべての製品名は、各社の商標または登録商標です。

参考資料URL