C -> アロー演算子 新しいページはコチラ
提供: yonewiki
1行: | 1行: | ||
+ | [[C PlusPlus#Cにもあった技術|C++]]へ戻る | ||
+ | |||
+ | |||
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> | <table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> | ||
<tr> | <tr> | ||
5行: | 8行: | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | ※このページではC言語にも存在していたという意味で記事タイトルが<nowiki>C -> アロー演算子</nowiki>になっていますが、<br /> | ||
+ | [[C PlusPlus|C++]]でも同様です。[[C PlusPlus|C++]]だけの機能がある場合は明記します。<br /> | ||
+ | <br /> | ||
+ | == '''アロー演算子''' == | ||
アロー演算子"->"は、クラスのメンバ変数やメンバ関数、構造体のメンバ変数を記述する際、<br /> | アロー演算子"->"は、クラスのメンバ変数やメンバ関数、構造体のメンバ変数を記述する際、<br /> | ||
23行: | 30行: | ||
ポインタ変数を宣言するときは (型名 *P) って書くのでした。<br /> | ポインタ変数を宣言するときは (型名 *P) って書くのでした。<br /> | ||
ポインタではない、型名で宣言した変数 f に対して、アドレスを取得するときは &f みたいに "&" アドレス演算子をつけるんだ。<br /> | ポインタではない、型名で宣言した変数 f に対して、アドレスを取得するときは &f みたいに "&" アドレス演算子をつけるんだ。<br /> | ||
+ | |||
+ | |||
+ | pが配列ならカッコが必要になります。p + i (配列番号 i)だとしたら | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | (*(p + i)).n; | ||
+ | (p + i)->n | ||
+ | </syntaxhighlight> | ||
+ | カッコがなければメンバ名がiという変数にぶら下がっているとも判断できるので、仕方ないですね。カッコがないとコンパイルエラーになるはずです。 | ||
+ | |||
+ | |||
+ | 添え字番号に[]を使うと | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | (p[i]).n; | ||
+ | (&p[i])->n | ||
+ | </syntaxhighlight> | ||
+ | となるでしょう。 | ||
+ | <br /> | ||
+ | |||
+ | |||
+ | [[C PlusPlus#Cにもあった技術|C++]]へ戻る |