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 />
20行: 27行:
  
 
と置き換えることが出来ます。アロー演算子を使った表記が流行していますので、もはや、もともとの記述の方がよくわからないという印象もあるのかもしれません。<br />
 
と置き換えることが出来ます。アロー演算子を使った表記が流行していますので、もはや、もともとの記述の方がよくわからないという印象もあるのかもしれません。<br />
ポインタpに対して*pって書くとアドレスの中身を返してくれるものだったことは、忘れちゃいけないよ。<br />
+
ポインタ p に対して *p って書くとアドレスの中身を返してくれるものだったことは、忘れちゃいけないよ。<br />
ポインタ変数を宣言するときは(型名 *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++]]へ戻る

2017年5月29日 (月) 00:00時点における最新版



個人用ツール
名前空間

変種
操作
案内
ツールボックス